私は600851475143
という最大の素因数を見つけたいと思っています。Pythonで大きな数字の素因数を取得する方法は?
ただし、のコードではrange
は無効です。数字が大きすぎます。
どうすればよいですか?それ以上の効率的なアルゴリズムはありますか?
list=[]
for i in range(1,600851475144):
count = 0
if 600851475143 % i == 0:
for x in range(2,i):
if i % x == 0:
count+=1
print(count)
if count == 0:
list.append(i)
count=0
print(list)
は[** 'continue' **]を参照してください(https://docs.python.org/3/tutorial/controlflow.html#break-and -continue-statements-and-else-clauses-on-loops)キーワードを使用してループを簡素化し、[** 'xrange' **](https://docs.python.org/2/library/functions.html)を使用します#xrange)を** 'range' **の代わりに使用します。 –