<p>我刚刚开始学习用Python编写代码。我正试图编写一些代码来回答这个项目Euler问题:</p>
<p>13195的主因子有5、7、13和29。</p>
<p>600851475143中最大的素因数是什么?</p>
<p>我的程序可以处理13195的测试用例,但是当我试图输入600851475143时,我得到错误:“OverflowError:range()结果有太多的项”
有人知道我该怎么解决吗?</p>
<p>这是我的代码:</p>
<pre><code>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.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(i)
n = n/i
i = i -1 #reset i
print primeFactors
</code></pre>
<p>任何帮助或建议将不胜感激!</p>