| @@ -0,0 +1,23 @@ | |||
| class Solution: | |||
| def __init__(self): | |||
| self.memo = dict() | |||
| def isHappy(self, n): | |||
| return self.recIsHappy(n) | |||
| def recIsHappy(self, n): | |||
| if n in self.memo: | |||
| return False | |||
| elif n == 1: | |||
| return True | |||
| else: | |||
| self.memo[n] = True | |||
| newN = 0 | |||
| for c in str(n): | |||
| newN += int(c) ** 2 | |||
| return self.recIsHappy(newN) | |||
| s = Solution() | |||
| print("Expected: True") | |||
| print("Got:", s.isHappy(19)) | |||
| @@ -0,0 +1,13 @@ | |||
| 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: | |||
| Input: 19 | |||
| Output: true | |||
| Explanation: | |||
| 12 + 92 = 82 | |||
| 82 + 22 = 68 | |||
| 62 + 82 = 100 | |||
| 12 + 02 + 02 = 1 | |||
| @@ -0,0 +1,3 @@ | |||
| #!/bin/bash | |||
| python3 main.py | |||