力扣202.快乐数

202. 快乐数 - 力扣(LeetCode)

主要是用到了鸽巢原理,最后他们一定会重合,我们只需要判断类似,链表的成环相遇的时候是不是1就行了

class Solution {
public:

    int bitsum(int n)
    {
        int sum = 0;
        while (n)
        {
            int a = 0;
            a = n % 10;
            sum += a * a;
            n /= 10;
        }
        return sum;
    }
    bool isHappy(int n) {
        int fast = bitsum(n);
        int slow = n;
        while (fast != slow)
        {
            fast = bitsum(fast);
            fast = bitsum(fast);
            slow = bitsum(slow);
        }
        if (fast == 1)
        {
            return true;
        }
        else return false;
    }
};
相关推荐
paopaokaka_luck10 分钟前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
视觉小萌新26 分钟前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
2的n次方_37 分钟前
二维费用背包问题
java·算法·动态规划
simple_ssn1 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode
寂静山林1 小时前
UVa 11855 Buzzwords
算法
Curry_Math1 小时前
LeetCode 热题100之技巧关卡
算法·leetcode
ahadee1 小时前
蓝桥杯每日真题 - 第10天
c语言·vscode·算法·蓝桥杯
军训猫猫头2 小时前
35.矩阵格式的一到一百数字 C语言
c语言·算法
Mr_Xuhhh3 小时前
递归搜索与回溯算法
c语言·开发语言·c++·算法·github
SoraLuna3 小时前
「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
算法·macos·cangjie