202. 快乐数

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

示例 1:

**输入:**n = 19
**输出:**true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

示例 2:

**输入:**n = 2
**输出:**false

提示:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class Solution {

public:

    int get_sum(int n)

    {

        int sum=0;

        while(n!=0)

        {

            sum += (n%10) * (n%10);

            n = n/10;

        }

        return sum;

    }




    bool isHappy(int n) {

        unordered_set<int> set;

        while(1)

        {

            int sum = get_sum(n);

            if(sum == 1){

                return true;

            }

            if(set.find(sum) != set.end()) break;

            else set.insert(sum);

            n = sum;

        }

        return false;

    }

};

上次更新 2025-04-08