代码的目的是找到testNum的最大素数因子。
testNum = 600851475143
for i in range(2,600851475144):
global answer
if testNum % i == 0:
for j in range(2,i):
if i % j == 0:
break
else:
answer = i
print(answer)
答案 0 :(得分:5)
我注意到这是Project Euler Problem 3。
你的暴力算法太慢了。您正在尝试执行6000亿次迭代。您需要提出一种更智能的方法来减少迭代次数。
这是Project Euler问题的一个共同主题。最直接的方法很少奏效。这些问题旨在要求巧妙的算法。
提示:当你找到一个因素时,要考虑它。