Solución
solution.tsTypeScript
const cache = new Map<number,boolean>();
function isPerfectNumber(n: number): boolean {
if (cache.has(n)) return cache.get(n);
const res = Array.from({length: n-1})
.map((_,index) => index+1)
.filter(d => n % d === 0)
.reduce((prev,cur) => prev+cur,0) === n;
cache.set(n,res);
return res;
}
function perfectNumbers(n: number): number[] {
// Escribe tu solución aquí
return Array.from({length: n})
.map((_,index) => index + 1)
.filter(isPerfectNumber);
}
// No modificar: necesario para evaluar el resultado.
export { perfectNumbers };
0respuestas