<filename>python/0202-happy-number.py
# 21/10/02 = Sat

# 202. Happy Number [Easy]

# Write an algorithm to determine if a number n 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. 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. Return true if n is a
# happy number, and false if not.

class Solution:
    def isHappy(self, n: int) -> bool:
        seen = set()
        while True:
            s = 0
            while n:
                q, r = divmod(n, 10)
                s += r * r
                n = q
            if s == 1:
                return True
            elif s not in seen:
                seen.add(s)
                print(s)
            else:
                return False
            n = s

<filename>python/0202-happy-number.py
# 21/10/02 = Sat

# 202. Happy Number [Easy]

# Write an algorithm to determine if a number n 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. 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. Return true if n is a
# happy number, and false if not.

class Solution:
    def isHappy(self, n: int) -> bool:
        seen = set()
        while True:
            s = 0
            while n:
                q, r = divmod(n, 10)
                s += r * r
                n = q
            if s == 1:
                return True
            elif s not in seen:
                seen.add(s)
                print(s)
            else:
                return False
            n = s

# 21/10/02 = Sat # 202. Happy Number [Easy] # Write an algorithm to determine if a number n 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. 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. Return true if n is a # happy number, and false if not.