ITPub博客

首页 > 应用开发 > Python > 快乐数

快乐数

原创 Python 作者:呼勺要b3 时间:2019-06-12 20:47:35 0 删除 编辑

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


一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。


示例: 


输入: 19

输出: true

解释: 

12 + 92 = 82

82 + 22 = 68

62 + 82 = 100

12 + 02 + 02 = 1


class Solution {public:
    unordered_map<int,int> m;    bool isHappy(int n) {        if(m.count(n) && n != 1) return false;        if(n == 1) return true;
        m[n] = 1;        int sum = 0;        while(n)
        {
            sum += (n % 10) * (n % 10);
            n /= 10;
        }        return isHappy(sum);
    }
};


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31551894/viewspace-2647449/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-17

  • 博文量
    7
  • 访问量
    8625