Happy number
2015.4.22 12:39
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
Solution:
Dull.
Accepted Code:
1@@ -0,0+1, $ @@2 //1CE, 1AC, dull3#include <unordered_set>4 using namespacestd;5 6 classSolution {7 Public:8 BOOLIshappy (intN) {9unordered_set<int>us;Tenunordered_set<int>:: iterator it; One A while(true) { - if(n = =1) { - Break; the } - if(Us.find (n) = =Us.end ()) { - Us.insert (n); -}Else { + Break; - } +n =DSum (n); A } at returnn = =1; - } - Private: - intDSumintN) { - ints =0; - intD; in while(N >0) { -d = n%Ten; toN/=Ten; +s + = d *D; - } the * returns; $ }Panax Notoginseng};
Leetcode-happy number