传统题 1000ms 256MiB

快乐数

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

快乐数

问题描述

小胡在学习快乐数。快乐数的定义如下:

  • 对于一个正整数,每次将其替换为它的各位数字的平方和。
  • 重复这个过程,直到这个数变为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

冬令营二期收官战

未参加
状态
已结束
规则
乐多
题目
8
开始于
2026-3-1 8:30
结束于
2026-3-1 11:30
持续时间
3 小时
主持人
参赛人数
22