pythonで素因数分解
繰り返し処理のところを、for ◯◯ in range( )にすべきなのか、while を使うべきかよくわからずに試行錯誤。プログラムを何度も走らせながら手直しして、ようやく正しく動きそうなものができた。
#素因数分解するプログラム
n = input('好きな数字を入力してください:')
num = int(n)
factors = [ ]
factor = 2
while factor <= num:
if num % factor == 0:
factors.append(factor)
num = num // factor
else:
factor = factor + 1
print('{}の素因数は'.format(n))
print(factors)
ちなみに、1,234,567,898,765を分解すると、5 × 41 × 25,343 × 237,631
コンピュータの演算能力ってのは凄いもんだねぇ。1兆の桁までは一瞬のうちに答えを算出してくれた。でも、調子に乗ってもう一桁増やしたら、30分計算してもまだ答えが出てこない。
次は、最大公約数を計算させてみようか。