Skip to content

Latest commit

 

History

History
28 lines (28 loc) · 748 Bytes

202. Happy Number.md

File metadata and controls

28 lines (28 loc) · 748 Bytes

思路

按照题目的意思进行循环,判断每次循环结果是否为1,若是则返回true,否则用map记录结果,然后修改n进行下一次循环。

C++

class Solution {
private:
    int count_sum(int n){ // 定义题目中所述的求和函数
        int sum = 0;
        while(n > 0){
            sum += (n % 10) * (n % 10);
            n /= 10;
        }
        return sum;
    }
public:
    bool isHappy(int n) {
        map<int, int>mp;
        while(n){
            if(n == 1) return true;
            if(mp[n] == 1) return false;
            mp[n] = 1;
            n = count_sum(n);
        }
        return false;
    }
};