LeetCode题解之Happy Number

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     }

 

posted @ 2018-07-13 11:23  山里的小勇子  阅读(181)  评论(0编辑  收藏  举报