class Solution {
public:
bool isHappy(int n) {
set<int> haha;
do{
int ans = 0;
if(haha.find(n) != haha.end()) return 0;
haha.insert(n);
while(n > 0){
ans += (n%10)*(n%10);
n/=10;
}
n = ans;
if(n == 1) return 1;
} while(1);
}
};
本文介绍了一种使用C++来判断一个数是否为快乐数的方法。通过不断将该数替换为它每个位置上的数字平方的总和,如果这个过程最终能够到达1,则该数为快乐数;如果形成了循环则不是。代码中运用了set容器来记录出现过的数值以避免无限循环。
949

被折叠的 条评论
为什么被折叠?



