#相当于用了哈希的思想来解决时间复杂度的问题
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return bool布尔型
#

def calnum(x):
    sum = 0
    while(x!=0):
        tmp = x % 10
        print(f"tmp;{tmp}")
        x = x // 10
        sum += tmp**2 
        print(f"sum:{sum}")
    return sum
class Solution:
    def happynum(self , n: int) -> bool:
        se = set()
        while(True):
            num = calnum(n)
            if num == 1:
                return True
            if num in se:
                return False
            se.add(num)
            print(se)
            n = num