Write an algorithm to determine if a number n
is happy.
A happy number is a number defined by the following process:
Return true
if n
is a happy number, and false
if not.
Example 1:
Input: n = 19 Output: true Explanation: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1
Example 2:
Input: n = 2 Output: false
Constraints:
1 <= n <= 231 - 1
Source
def is_happy(n):
visited = set()
while n not in visited:
visited.add(n)
n = sum([int(x) **2 for x in str(n)])
return n == 1
def is_happy(n):
'''variations from above solution'''
visited = set()
while n != 1:
n = sum([int(i)**2 for i in str(n)])
if n in visited:
return False
visited.add(n)
return True
is_happy(19)
True
is_happy(2)
False
is_happy(3)
False