编写一个算法判断某个数字是否是“快乐数”。
快乐数的定义过程如下:从任意一个正整数开始,将原数替换为其每一位的平方和,重复此过程会得到两种可能:1.数字=1(此时其值将不再变化),2.进入一个不包含1的无限循环。那些以1为终止的数字即为“快乐数”。
Example: 19 is a happy number
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
ans = set()
while n != 1:
n = sum(int(i)**2 for i in str(n))
if n in ans:
return False
else:
ans.add(n)
else:
return True