下面的代碼不斷告訴我一個錯誤的數字,我不明白爲什麼,知道這是蠻力,但它應該仍然有效......它返回的數字的確超過了500個因子,確切地說512,幫助將是非常感謝euler挑戰12,爲什麼這個python代碼失敗?
Number = 1
Count = 2
Found = False
while Found == False:
Divisors = 0
if (Number % 2) != 0:
for i in range(1, int(Number**(1/2)), 2):
if Number % i == 0:
Divisors += 1
else:
for i in range(1, int(Number**(1/2))):
if Number % i == 0:
Divisors += 1
if Divisors >= 500:
print (Number)
Found = True
else:
Number += Count
Count += 1
參考:Problem 12 from the Euler Challange
我認爲,即使按照您的意圖工作,您將會遇到問題。因爲你的數字是1到1/2,所以你不會把數字本身作爲除數。這可能不會影響你的答案,但我想你想知道。如果我在這裏,請告訴我,我不熟悉python。 – Toast