leetcode:202happy数

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 
 5 int arr[100];
 6 int inum=0;
 7 
 8 bool isHappy(int n)
 9 {
10 
11     for(int k=0 ; (n!=1)&& k<5000 ; ++k)
12     {
13         int i=0;
14         memset(arr,0 ,sizeof(arr));
15         while(n/10)                        //抠出每个数字
16         {
17             arr[i++]=n%10;
18             n/=10;
19         }
20         arr[i++]=n;
21         n=0;
22         for(int j=0 ; j<i ; ++j)
23             n+=arr[j]*arr[j];
24     }
25     if(1==n)
26         return true;
27     else
28         return false;
29 }
30 int main()
31 {
32     int nn=19;
33     if(isHappy(nn)==true)
34         puts("y");
35     else
36         puts("no");
37     system("pause");
38     return 0;
39 }

 

posted on 2015-05-03 21:11  Evence  阅读(153)  评论(0编辑  收藏  举报