快乐数--leetcode

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

「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。

然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。

如果这个过程 结果为 1,那么这个数就是快乐数。

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

示例 1:

输入:n = 19

输出:true

解释:

12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1

示例 2:

输入:n = 2

输出:false

cpp 复制代码
class Solution {
public:
    bool isHappy(int n) {
        unordered_set<int> hash_set;
        while (n != 1) {
            int sum = 0;
            while (n) {
                sum = sum + (n % 10) * (n % 10);
                n = n / 10;
            }
            n = sum;
            cout << "sum: " << sum << endl;
            if (hash_set.count(n)) {
                break;
            } else {
                hash_set.insert(n);
            }
        }
        return n == 1;
    }
};
相关推荐
源代码•宸7 分钟前
Leetcode—620. 有趣的电影&&Q3. 有趣的电影【简单】
数据库·后端·mysql·算法·leetcode·职场和发展
2301_8002561133 分钟前
地理空间数据库中的CPU 和 I/O 开销
数据库·算法·oracle
一个不知名程序员www1 小时前
算法学习入门---结构体和类(C++)
c++·算法
XFF不秃头4 小时前
力扣刷题笔记-旋转图像
c++·笔记·算法·leetcode
王老师青少年编程4 小时前
csp信奥赛C++标准模板库STL案例应用3
c++·算法·stl·csp·信奥赛·lower_bound·标准模版库
有为少年5 小时前
Welford 算法 | 优雅地计算海量数据的均值与方差
人工智能·深度学习·神经网络·学习·算法·机器学习·均值算法
Ven%5 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の5 小时前
爬楼梯(动态规划)
算法·动态规划
谈笑也风生5 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法