Q1:- Happy Number
- Write an algorithm to determine if a number
n
is happy or not.
Happy Number
A Happy Number is a special number with these steps:
Start with any positive number.
Take each digit of the number, square it (multiply it by itself), and add all those squares together to get a new number.
Repeat this process with the new number.
If after repeating this process many times, you get the number 1, then the original number is called a Happy Number.
If you never get 1 and keep seeing the same numbers again and again, then the number is not happy (sometimes called sad).
Example
Start with 7: - \(7^2 = 49\) - \(4^2 + 9^2 = 16 + 81 = 97\) - \(9^2 + 7^2 = 81 + 49 = 130\) - \(1^2 + 3^2 + 0^2 = 1 + 9 + 0 = 10\) - \(1^2 + 0^2 = 1 + 0 = 1\)
/** * @param {number} n * @return {boolean} */ var isHappy = function(n, seen = new Set()) { if (n === 1) return true; if (n < 0 || seen.has(n)) return false; seen.add(n); let array_Of_Each_Char = String(n).split(''); let sum = 0; for (let i = 0; i < array_Of_Each_Char.length; i++) { sum += Number(array_Of_Each_Char[i]) * Number(array_Of_Each_Char[i]); } n = Math.floor(sum); console.log(n); // ✅ Return the recursive call result return isHappy(n, seen); }; // ✅ Test cases console.log(isHappy(7)); // true console.log(isHappy(2)); // false console.log(isHappy(19)); // true console.log(isHappy(4)); // false
Top comments (0)