標籤:
Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example: 19 is a happy number
1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1
1 class Solution { 2 public: 3 int cnt=0; 4 5 int Sum(int m) 6 { 7 cnt++; 8 int sum=0; 9 int tmp=0;10 while(m>0)11 {12 tmp=m%10;13 sum=sum+pow(tmp,2);14 m=m/10;15 }16 if(sum==1)17 {18 return 1;19 }20 if(cnt>=100&&sum!=1)21 {22 return 0;23 }24 25 Sum(sum);26 }27 28 bool isHappy(int n) {29 if(n==0) return false;30 31 if(Sum(n)==1) return true;32 if(Sum(n)==0) return false;33 }34 };
【leetcode】Happy Number