Happy Number
原题链接Happy Number
对一个数的每一位求平方和,如此反复下去,知道满足以下条件时证明这是一个happy number
- 某一时刻平方和为1
- 进入无限循环
按要求做就可以了
class Solution {
public:
bool isHappy(int n) {
if(n == 1) {
return true;
}
if(hash_.find(n) != hash_.end()) {
return false;
}
hash_.insert(n);
int m = 0;
while(n) {
int k = n % 10;
n /= 10;
m += k * k;
}
return isHappy(m);
}
private:
std::unordered_set<int> hash_;
};