Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как разложить число на числа python: развернутый вопрос

  1. Как разложить число на числа python: развернутый вопрос

    Привет, ребята! Вопрос следующий: как разложить число на числа python? Нужно написать скрипт на Python, который будет принимать большое число и раскладывать его на простые делители. Я новичок в программировании, и немного запутался. Если кто-то может помочь с примером кода и объяснением, было бы круто! Всем заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Чтобы разложить число на простые множители, можно воспользоваться классическим алгоритмом разложения. Вот пример кода:

    Программный код:

    def prime_factors
    (n):

        
    factors = []

        
    divisor 2

        
    while >= 2:

            if 
    divisor == 0:

                
    factors.append(divisor)

                
    //= divisor

            
    else:

                
    divisor += 1

        
    return factors



    num 
    315

    print(prime_factors(num)) 
    Этот скрипт возвращает список простых множителей числа. Надеюсь, помогло!

  4. Цитата Сообщение от Александр Петрович
    Привет! Чтобы разложить число на простые множители, можно воспользоваться классическим алгоритмом разложения. Вот пример кода:

    Программный код:

    def prime_factors
    (n):

        
    factors = []

        
    divisor 2

        
    while >= 2:

            if 
    divisor == 0:

                
    factors.append(divisor)

                
    //= divisor

            
    else:

                
    divisor += 1

        
    return factors



    num 
    315

    print(prime_factors(num)) 
    Этот скрипт возвращает список простых множителей числа. Надеюсь, помогло!
    Не знал про такой способ! Круто, теперь ясно, спасибо.

  5. Всем привет! Я использую модуль sympy для работы с простыми числами. Вот кусок кода:

    Программный код:

    from sympy import primefactors


    num 
    315

    print(primefactors(num)) 
    Просто и со вкусом. Загляните, может пригодится.

  6. Цитата Сообщение от Дашенька
    Всем привет! Я использую модуль sympy для работы с простыми числами. Вот кусок кода:

    Программный код:

    from sympy import primefactors


    num 
    315

    print(primefactors(num)) 
    Просто и со вкусом. Загляните, может пригодится.
    Sympy реально упрощает жизнь, зачёт!

  7. Если нужно быстро, то вот на пальцах:

    Программный код:

    def factorize
    (n):

        
    2

        factors 
    = []

        while 
    <= n:

            if 
    i:

                
    += 1

            
    else:

                
    //= i

                
    factors.append(i)

        if 
    1:

            
    factors.append(n)

        return 
    factors


    num 
    100

    print(factorize(num)) 
    Ну, это займет чуть больше времени, но зато всё своё.

  8. Цитата Сообщение от JaneEyre
    Если нужно быстро, то вот на пальцах:

    Программный код:

    def factorize
    (n):

        
    2

        factors 
    = []

        while 
    <= n:

            if 
    i:

                
    += 1

            
    else:

                
    //= i

                
    factors.append(i)

        if 
    1:

            
    factors.append(n)

        return 
    factors


    num 
    100

    print(factorize(num)) 
    Ну, это займет чуть больше времени, но зато всё своё.
    Да, этот метод тоже слегка медленный, но работающий!

  9. Можно ещё попробовать через рекурсию, если хочется что-то замороченное:

    Программный код:

    def prime_factors_recursive
    (ndivisor=2):

        if 
    == 1:

            return []

        if 
    divisor == 0:

            return [
    divisor] + prime_factors_recursive(// divisor, divisor)

        
    else:

            return 
    prime_factors_recursive(ndivisor 1)


      
    num 56

    print(prime_factors_recursive(num)) 
    Довольно наглядно и понятно, если привыкнуть.

  10. Цитата Сообщение от Электроник
    Можно ещё попробовать через рекурсию, если хочется что-то замороченное:

    Программный код:

    def prime_factors_recursive
    (ndivisor=2):

        if 
    == 1:

            return []

        if 
    divisor == 0:

            return [
    divisor] + prime_factors_recursive(// divisor, divisor)

        
    else:

            return 
    prime_factors_recursive(ndivisor 1)


      
    num 56

    print(prime_factors_recursive(num)) 
    Довольно наглядно и понятно, если привыкнуть.
    О, круто, рекурсию не думал использовать! Интересно получилось.

Страница 1 из 2 12 ПоследняяПоследняя