аватар question@mail.ru · 01.01.1970 03:00

Разложить число на простые множители

Как в питоне разложить число на множители, чтобы их произведение было равно этому числу.

number=int(input(""Integer: ""))for i in range(1, number+1):    if(number%i==0):        print(i)

При вводе числа (например) 63. На выходе получается:

13792163

#!/usr/bin/env python3n=int(input(""Integer: "")) factors = []d = 2while d * d <= n:        if n % d == 0:            factors.append(d)            n//=d        else:            d += 1        if n > 1:            factors.append(n)        else:            breakprint('{} = {}' .format(n,factors))

На выходе получется: 7 = [63, 3, 21, 3, 7]


А мне необходимо получить: 63 = 3 * 3 * 7

аватар answer@mail.ru · 01.01.1970 03:00

Эта задача называется

Одна из реализаций(взято с ):

def primfacs(n):   i = 2   primfac = []   while i * i <= n:       while n % i == 0:           primfac.append(i)           n = n / i       i = i + 1   if n > 1:       primfac.append(n)   retu primfac

Последние

Похожие