方法1 投机取巧
bool isHappy(int n) {
int cnt = 0;
int temp1 = 0;
int temp2 = 0;
while (1){
temp2 = n % 10;
temp1 += temp2 * temp2;
n /= 10;
if (0 == n){
n = temp1;
if(1 != temp1){
temp1 = 0;
}else{
return true;
}
}
/* 如果运算超过100次还没解算出,则认为是错误 */
if (++cnt > 100){
return false;
}
}
return true;
}