1、题目描述
2、题目分析
根据 happy number 的 性质,如果循环7次还没有到达 1,则这个数不是happy number .
3、代码
1 bool isHappy(int n) { 2 if( n == 1 ) return true; 3 int result = n; 4 int count = 0; 5 do{ 6 vector<int> rv = splitnum( result ); 7 result = 0; 8 for(auto i: rv){ 9 result += i*i; 10 } 11 count++; 12 if( count > 7 ){ 13 return false; 14 } 15 }while( result != 1 ); 16 return true; 17 18 } 19 20 vector<int> splitnum( int num) { 21 vector<int> r; 22 while( num != 0 ){ 23 r.push_back( num % 10 ); 24 num /= 10; 25 } 26 return r; 27 28 }