Разложить число на простые множители
📁 python, пример, python3
Как в питоне разложить число на множители, чтобы их произведение было равно этому числу.
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
Эта задача называется
Одна из реализаций(взято с ):
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 Войдите чтобы оставить ответ