https://leetcode.com/problems/happy-number/#/description
问题是判断一个输入的数字是否是happy number,规则看题目吧,翻译无能。。
思路就是将一个数字拆分成各个位数上的数字,然后进行求和,判断。用到了map,最近只会用map。。因为如果是false,要判断是否是出现过的数字,不然会死循环
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int sum = 0;
int _mod;
while(true){
while(true){
_mod = n % 10;
n = n / 10;
sum += _mod * _mod;
if(n == 0){
break;
}
}
// System.out.println(sum);
if(sum == 1){
return true;
}
if(map.containsKey(sum)){
return false;
}
else{
map.put(sum, 1);
}
n = sum;
sum = 0;
}