2
我正在使用Python的Project Euler的problem 3,但我似乎無法解決問題,但未遇到以下錯誤:「OverflowError:range()result has too many items」for循環中的溢出錯誤
我想知道是否有辦法增加允許的範圍?我的代碼如下:
target = 600851475143
largest_prime_factor = 1
#find largest prime factor of target
for possible_factor in range(2,(target/2)+1):
if target % possible_factor == 0:
is_prime = True
for i in range(2,(possible_factor/2)+1):
if possible_factor % i == 0:
is_prime = False
break
if is_prime:
largest_prime_factor = possible_factor
print largest_prime_factor
錯字在最後一句。它應該是'range'而不是'xrange'。另外,在Python 3中,'range'是[序列類型](https://docs.python.org/3.5/library/functions.html#func-range),而不是返回生成器的函數。 –