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 }