開心號碼是由以下過程定義的。從任何正整數開始,用數字的平方和替換數字,然後重複該過程直到數字等於1.何時停止當號碼不是開心號碼
但是,當數字不是一個快樂的數字時,它會在一個循環中無限循環包括1.
我已經編碼在Python中的幸福數字問題,但問題是當一個數字不開心,那麼我怎麼能停止迭代週期。因爲它不會以1結尾,並且會不斷重複。
def happynumber(number):
while(number!=1):
numberstr = str(number) #converting a number to string
index=0
sum=0
while(index!=len(numberstr)):
sum = sum + int(numberstr[index])*int(numberstr[index])
index = index+1
print sum
number = sum
return number
你能告訴我們你做了什麼嗎? –
你必須想辦法檢測週期並破壞它。這應該足以作爲功課的提示。 ;) –
序列在重複或達到1之前會有多長時間? (我想不會,在這種情況下,這是一個難題。) –