Solución
solution.tsTypeScript
g = {1:False,2:True}
def is_prime(n):
if n in g:
return g[n]
g[n] = all(n%k>0 for k in range(2,n))
return g[n]
def perfect_numbers(n: int) -> list[int]:
rest = []
for z in range(1,n+1):
if is_prime(z):
z = (2**z-1)*(2**(z-1))
if n>=z:
rest.append(z)
return rest0respuestas