我是一個初學者,我在做第三個問題,這是關於找到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