HPYNOS  Happy Numbers I
The process of “breaking” an integer is defined as summing the squares of its digits. For example, the result of breaking the integer 125 is (1^{2} + 2^{2} + 5^{2}) = 30. An integer N is happy if after “breaking” it repeatedly the result reaches 1. If the result never reaches 1 no matter how many times the “breaking” is repeated, then N is not a happy number.
TASK
Write a program that given an integer N, determines whether it is a happy number or not.
CONSTRAINTS
2 ≤ N ≤ 2,147,483,647
Input
A single line containing a single integer N.
Output
A single line containing a single integer T which is the number of times the process had to be done to determine that N is happy, or 1 if N is not happy.
Example
Input: 19 Output: 4
1) 19 : 1^{2} + 9^{2} = 82 2) 82 : 82 + 2^{2} = 68 3) 68 : 6^{2} + 8^{2} = 100 4) 100 : 1^{2 }+ 0^{2} + 0^{2} = 1
The solution is 4 because we discovered that the integer 19 is happy after we repeated the process 4 times.
Input: 204 Output: 1
204 –> 20 –> 4 –> 16 –> 37 –> 58 –> 89 –> 145 –> 42 –> 20 –> 4 –> 16 –> 37 –> 58 –> 89 –> 145 ……
204 is not a happy number because after breaking it several times the results start repeating so we can deduce that if we continue breaking it, the result will never reach 1.
Number of input files is 32.
Don't use precalculated values (Don't Cheat)!!!
hide comments
AASHISH KUMAR:
20151229 10:12:46
solve atleast 8 to 10 numbers you will get your pattern and logic :D


Junaid:
20151222 09:26:06
Can anyone have a look on my code and tell me what's the problem in this code why it's giving WA.....Thanks in advance....here's the link


killjee_15:
20151216 20:03:49
Using Arrays Costed Me 2 SIGSEGV 

sumit suthar:
20151111 10:59:45
Ac in one go;) 

Jack Liu:
20151015 04:45:28
I thought PyPy is meant to be faster than Python? Why am I getting TLE for PyPy but AC for Python using the exact same code on this problem? 1 TLE wasted. Would never use PyPy again. 

alexbandeira:
20150923 20:14:25
very easy!


Sarthak Munshi:
20150919 20:49:52
use sets for checking for number repititions and you should be good to go !


Raghvendra pandey:
20150909 08:20:22
half century :)


MAYANK NARULA:
20150906 22:09:52
Did it with strings !!!!!


SANDEEP KUMAR:
20150815 14:35:12
Ac in one go :),

Added by:  Rofael Emil 
Date:  20101103 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All 
Resource:  Egyptian Olympiad in Informatics ( EOI ) 2009, August 14  21, Cairo 