快乐数
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
快乐数
问题描述
小胡在学习快乐数。快乐数的定义如下:
- 对于一个正整数,每次将其替换为它的各位数字的平方和。
- 重复这个过程,直到这个数变为1,或者进入无限循环但始终变不到1。
- 如果最终能变为1,那么这个数就是快乐数。
现在,小胡想知道一个数是否是快乐数。请你帮助他判断。
输入格式
输入一个正整数n。
输出格式
如果n是快乐数,输出"Yes",否则输出"No"。
样例输入 1
19
样例输出 1
Yes
样例输入 2
2
样例输出 2
No
样例解释
样例 1 解释 19 → 1² + 9² = 82 → 8² + 2² = 68 → 6² + 8² = 100 → 1² + 0² + 0² = 1,所以19是快乐数。
样例 2 解释 2 → 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4 → ... 进入循环,所以2不是快乐数。
提示
- 从进入过程开始,每次运算结果的大小不超过500
- 用桶记录一个数是否出现过,如果出现过那么他一定进入了循环
数据范围与约定
- 1 ≤ n ≤ 10^6