给定一个正整数,请你判断这个数是不是快乐数。
快乐数:对于一个正整数,每次把他替换为他每个位置上的数字的平方和,如果这个数能变为 1 则是快乐数,如果不可能变成 1 则不是快乐数。
例如:正整数 19
转换过程为 1*1+9*9=82 , 8*8+2*2=68,6*6+8*8=100,1*1+0*0+0*0=1 ,所以他是快乐数。
数据范围:输入的正整数满足
19
true
111
false
package main //import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return bool布尔型 */ func happynum( n int ) bool { //如果不能变成1,就会陷入循环 cnt:=map[int]bool{} for n!=1{ if _,ok:=cnt[n];ok{ return false } cnt[n]=true n=handle(n) } return true } func handle(n int)int{ ans:=0 for n>0{ ans+=(n%10)*(n%10) n/=10 } return ans }