姬長信(Redy)

Python“OverflowError”


我刚开始学习用Python编写代码.我正在尝试编写一些代码来回答这个Project Euler问题:

13195的主要因素是5,7,13和29.

600851475143的最大主要因素是什么?

我的程序适用于13195的测试用例,但是当我尝试输入600851475143时,我收到错误:“OverflowError:range()结果有太多项目”
有谁知道我怎么解决这个问题?

这是我的代码:

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

任何帮助或建议将不胜感激!