我是一个初学者,我在做第三个问题,这是关于找到600851475143最大的素因子,我得到这个错误:Python溢出错误:整数太大,转换为C长
的Python INT太大,转换为C长
plist = [2]
def primes(min, max):
if 2 >= min:
yield 2
for i in xrange(3, max, 2):
for p in plist:
if i % p == 0 or p * p > i:
break
if i % p:
plist.append(i)
if i >= min:
yield i
def factors(number):
for prime in primes(2, number):
if number % prime == 0:
number /= prime
yield prime
if number == 1:
break
a = 600851475143
print max(factors(a))
你在哪里转换为“长”? –
[OverflowError Python int太大而无法转换为C long]的可能重复(http://stackoverflow.com/questions/22114088/overflowerror-python-int-too-large-to-convert-to-c-long) –
我没有,我使用Windows PowerShell来运行该脚本,并显示错误本身 – Oxide