gpt4 book ai didi

Python 项目欧拉 3

转载 作者:行者123 更新时间:2023-11-28 22:44:19 24 4
gpt4 key购买 nike

我是 python 的新手,我想通过项目 Euler 帮助我的女朋友学习编码,我建议她从 python 开始。不幸的是,在问题 3 中,我们遇到了一个奇怪的错误。

为了找到较小数字的质因数,这似乎工作正常,但试图找到 600851475143 的质因数它只是窒息。

我的印象是 python 对最大整数值非常宽容,所以我不知道为什么它在这里不起作用。

def is_prime (n) :
for i in range (2, n) :
if n % i == 0:
return 0
return 1

n = 600851475143

for i in range (1, n) :
if n % i == 0 :
if is_prime (i) == 1 :
print i

如果有人能正确引导我,我将不胜感激!

大卫

编辑:我很清楚这一切是多么次优!

最佳答案

因为没有人回答显而易见的问题,所以使用 xrange 而不是 range:

def is_prime (n) :
for i in xrange (2, n) :
if n % i == 0:
return 0
return 1

n = 600851475143

for i in xrange (1, n) :
if n % i == 0 :
if is_prime (i) == 1 :
print i

但请记住,这仍然很慢,但您不会遇到 MemoryErrors。

关于Python 项目欧拉 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29632260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com