Happy Number

来源:互联网 发布:辐射4 杰洛特捏脸数据 编辑:程序博客网 时间:2024/05/20 21:18

LeetCode原题:Happy Number

Write an algorithm to determine if a number is "happy".

A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.

Example: 19 is a happy number

12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

主要内容:判断给定数是否符合条件


解题思想:除了会出现结果等于1的情况还会出现无限循环,要得出是否是无限循环从而得出否定的结论需要判断该循环是否属于有限循环(该类判断方法的循环类别)


参考C++代码:

class Solution {public:    int med(int n) {        int b = 0;        int c = 0;        while(n != 0) {            b = n % 10;            c = c + b * b;            n = n / 10;        }        return c;    }    bool isHappy(int n) {        int b = n;        set<int> s;        while (med(b) != 1) {            if (s.count(b)) {                return false;            } else {                s.insert(b);            }            b =  med(b);        }        return true;    }};


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嵌入式C语言笔试题 用html做彩虹 五子连珠 html彩虹 17587968093 HTML添加表单 训练31 HTML为表单添加提交按钮 HTML为表单添加提交按钮 _blank HTML为表单添加提交按钮 用python求两个数的和差积商 苍井空 PUA EAY1582867942378 C语言在CADCAM的应用 性侵 留守女童 性游戏 无损剪切 剪切 http://www.hackbase.com 白鹿原 Python项目 Python飞机 Python坦克 Python超级玛丽 Python大战僵尸 Python游戏 Python贪吃蛇 Python象棋 Python翻象棋 翻棋代码 翻棋 it部门 抽象数据类型有理数的定义 it部门经营单元 mapreduce完整的shuffle流程 黑网 墨西哥杀人 猫咪破解版