对于一个正整数,每次将概述替换为它每个位置上的数的平方和然后重复这个过程直到这个数变为1,叶可能是无限循环但始终变不到1,如果剋变为1,那么这个数就是快乐数。
代码如下:
class Solution:
def isHappy(self, n: int) -> bool:
org_val = []
while n < 2**31 -1:
tmp = 0
while n: # 求个位置上的数的平方和
tmp += (n%10)**2
n = n//10
if tmp in org_val: # 判断是否重复,无限循环
return False
elif tmp == 1:
return True
org_val.append(tmp)
n = tmp
else:
return False



