Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process:starting with any positive integer and replace the number by the Sum of the squares of its digits, and repeat the process until the number equals 1 (where it would stay), or it loops Endl essly in a cycle which does not include 1. Those numbers for which this process ends in 1 is happy numbers.
Example:19 is a happy number
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
The subject is relatively simple, do a hashset to record whether there are duplicate numbers appear, if not, put this number in, and then ask you to count the sum of squares, see whether it is 1, not 1 words, continue to cycle. The code is as follows:
1 Public classSolution {2 Public BooleanIshappy (intN) {3Set<integer> set =NewHashset<integer>();4 if(n==1)return true;5 while(!set.contains (n)) {6 Set.add (n);7 intSum =0;8 while(n!=0){9 ints = n%10;Tensum+=s*s; Onen = N/10; A } - if(sum==1)return true; -n =sum; the } - return false; - } -}
202. Happy number