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 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。