The Happy Number solutions are below.
15 Jun 2024•Easy•C++ / Python / TypeScript
Happy Number
C++, Python and TypeScript solutions for Happy Number.
Solution files
Python•happy-number/synced-solution.py
def isHappy(n: int) -> bool:
def get_next(number):
total_sum = 0
while number > 0:
digit = number % 10
total_sum += digit * digit
number //= 10
return total_sum
seen = set()
while n != 1 and n not in seen:
seen.add(n)
n = get_next(n)
return n == 1
C++•happy-number/synced-solution.cpp
class Solution {
public:
bool isHappy(int n) {
unordered_set<int> seen;
while (n != 1 && seen.find(n) == seen.end()) {
seen.insert(n);
n = getNext(n);
}
return n == 1;
}
private:
int getNext(int n) {
int totalSum = 0;
while (n > 0) {
int digit = n % 10;
totalSum += digit * digit;
n /= 10;
}
return totalSum;
}
};
TypeScript•happy-number/synced-solution.ts
function isHappy(n: number): boolean {
const getNext = (num: number): number => {
let totalSum = 0;
while (num > 0) {
const digit = num % 10;
totalSum += digit * digit;
num = Math.floor(num / 10);
}
return totalSum;
};
const seen = new Set<number>();
while (n !== 1 && !seen.has(n)) {
seen.add(n);
n = getNext(n);
}
return n === 1;
}