我刚刚开始学习用 Python 编码。我正在尝试编写一些代码来回答这个 Project Euler 问题:
13195 的质因数是 5、7、13 和 29。
数字 600851475143 的最大质因数是多少?
我的程序适用于 13195 的测试用例,但是当我尝试输入 600851475143 时,出现错误:“OverflowError: range() results has too many items” 有谁知道我该如何解决这个问题?
这是我的代码:
class Euler3:
"A class to find the largest prime factor of a given number"
n = 600851475143
primeFactors = []
for i in range(2,n):
if (n%i ==0):
primeFactors.append(i)
n = n/i
i = i -1 #reset i
print primeFactors
任何帮助或建议将不胜感激!