題目:
編寫一個算法來判斷一個數是不是“快樂數”。
一個“快樂數”定義爲:對於一個正整數,每一次將該數替換爲它每個位置上的數字的平方和,然後重複這個過程直到這個數變爲 1,也可能是無限循環但始終變不到 1。如果可以變爲 1,那麼這個數就是快樂數。
示例:
輸入: 19 輸出: true 解釋: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1
python代碼:
class Solution:
def isHappy(self, n):
nums_dict = {}
while True:
nums_dict[n] = True
sum = 0
while n > 0:
sum += (n%10) ** 2
n = n // 10
if sum == 1:
return True
elif sum in nums_dict:
return False
else:
n = sum