Solución
solution.tsTypeScript
function isHappyNumber(n: number): boolean {
if (n == 1) return true
function divmod(num: number): number[] {
return [num % 10, Math.floor(num / 10)]
}
const seen = new Set()
function recursive(num: number) {
if (seen.has(num)) return false
seen.add(num)
let temp = num;
const nArray = []
while (temp > 0) {
const dm = divmod(temp)
temp = dm[1]
nArray.push(dm[0])
}
let curr = 0
for (const x of nArray) {
curr += Math.pow(x, 2)
}
console.log({ num, curr})
if (curr === 1) return true
return recursive(curr)
}
return recursive(n);
}
// No modificar: necesario para evaluar el resultado.
export { isHappyNumber };0respuestas