pythonで素因数分解

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分計算してもまだ答えが出てこない。

 

次は、最大公約数を計算させてみようか。