我試圖解決一個問題找到超過500個除數第一三角數三角數Python程序,但有溢出錯誤尋找超過500個除數
請給一個更好的辦法
問題是
三角形數字的序列是通過添加自然數生成的。因此,第7個三角形數將是1 + 2 + 3 + 4 + 5 + 6 + 7 = 28。前十項將是:
1,3,6,10,15,21,28,36, 45,55,66 ...
讓我們列出前七個三角數的因素: 1:1 3:1,3 6:1,2,3,6- 10:1,2- ,5,10 15:1,3,5,15 21:1,3,7,21 28:1,2,4,7,14,28 我們可以看到28是第一個三角形數有超過五個因子。 第一個三角形數值超過五百個除數是多少?
我的計劃是
`
def isPrime(a):
m=0
for j in range(1,a/2+1):
if (a%j)==0:
m+=1
return m+1
i=1
n=1
div=500
while (i>=1):
l=isPrime(i)
ans=i
if l>div:
print ans
break
n+=1
i=n*(n+1)/2
`
哪裏溢出錯誤?你有什麼想法,爲什麼溢出錯誤發生? – bcdan
根據我這是由於無限循環 – jainaman224
溢出錯誤是由函數調用遞歸引起的,或變量超過可用內存。我不明白這個腳本會怎麼樣。另外,請包含完整的錯誤消息。 – bcdan