快乐数字


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C++

快乐数字

编写一个算法来判断一个数字 \(n\) 是否是"快乐数"。

一个快乐数定义为通过以下过程得到的数字:
从任何正整数开始,将该数字替换为其各个数字的平方和。
重复这个过程,直到数字变为 1(此时它会保持为 1),或者进入一个无限循环,循环中不包含 1。
那些通过这个过程最终得到 1 的数字是快乐数。
如果 n 是一个快乐数,则返回 true,否则返回 false。

示例 1:
输入:
19
输出:
true
解释:

\(1^2 + 9^2 = 82\)
\(8^2 + 2^2 = 68\)
\(6^2 + 8^2 = 100\)
\(1^2 + 0^2 + 0^2 = 1\)

示例 2:
输入:
2

输出:

false
约束:

\(1 \le n \le 2^{31} - 1\)


Comments

There are no comments at the moment.