题意
幸福的数字是由以下过程定义的数字:从任何正整数开始,将数字替换为数字的平方和,并重复该过程,直到数字等于1(将保留在哪里),或者循环 一个不包括在内的循环的循环中,这个过程以1结尾的数字是快乐的数字。例如19是幸运数字
12+92=8282+22=6862+82=10012+02+02=1
给你一个数,判断是不是幸福数字
解题思路
模拟过程,如果计算次数超过1000次,则不再可能是幸运数字
参考代码
// java
class Solution {
public boolean isHappy(int n) {
int cnt = 0,k = n;
while (k!=1 && cnt < 1000){
int tmp = 0;
while (k!=0){
tmp += (k%10) * (k%10);
k /= 10;
}
k=tmp;
cnt++;
}
return k==1;
}
}