gpt4 book ai didi

python - 欧拉问题 №3,代码卡在大数上

转载 作者:行者123 更新时间:2023-12-04 01:21:35 26 4
gpt4 key购买 nike

我目前正在学习 Python,并练习欧拉问题。我遇到了第三个问题,我的代码无法处理大数字,但可以处理其他数字。

n = 600851475143 
x = 0
for i in range(2,n):
if(n%i == 0):
if(x < i): x = i
print(x)

控制台只是没有得到任何结果和卡住。PS https://projecteuler.net/problem=3

(抱歉我的英语不好)

最佳答案

它正在运行,但它所花费的时间非常长。你可以通过下面的代码检查,它一直在打印x

n = 600851475143
x = 0
for i in range(2, n):
if n % i == 0:
if x < i:
x = i
print(x)

为了节省时间,您可以尝试使用以下代码代替您的代码:

n = 600851475143
x = 0
for i in range(2, n):
if n % i == 0:
x = n // i
break
print(x)

立即打印 8462696833。但正如@seesharper 在评论中所述,它只是最大的因素,而不是主要 因素。所以这不是 Project Euler Problem #3 的正确答案.

关于python - 欧拉问题 №3,代码卡在大数上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62569749/

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