functionisHappy(n: number): boolean { let set = newSet(); while (true) { let arrayList = n.toString().split(''); let result = 0; arrayList.forEach(s => { result += Math.pow(Number.parseFloat(s), 2); }) if (result == 1) returntrue; if (set.has(result)) returnfalse; set.add(result); n = result; } }; console.log(isHappy(19))
functionisHappy(n: number): boolean { let fast = n; let slow = n; while (true) { fast = getNext(getNext(fast)); slow = getNext(slow); if (fast == 1) returntrue; if (fast == slow) returnfalse; }
functiongetNext(val: number): number { let result = 0; while (val != 0) { let x = val % 10; result += x * x; val = Math.floor(val / 10); } return result; } }; console.log(isHappy(2))