Solución

@alexiis-dev·2/6/2026TypeScript
solution.tsTypeScript
function perfectNumbers(n: number): number[] {
  let numbers:number[] = []
  for(let i = 2; i <= n; i += 2){
    if(isPerfectNumber(i)) numbers.push(i)
  }
  return numbers;
}

function isPerfectNumber(n: number): boolean {
  let sum = 1
  for(let i = 2; i*i <= n; i++){
    if(n % i === 0) {
      sum += i
      const pair = n / i
      if(pair !== i) sum += pair
    }
  }
  return sum === n
}

// No modificar: necesario para evaluar el resultado.
export { perfectNumbers };
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.