Solución del problema
¿Has intentado algo como ésto?
n =...
a = 2
b = 2
ans = [(n, 1)]
while a < n:
while True:
value = a**b
if value > n:
a += 1
b = 2
break
if value == n:
ans.append((a, b))
b += 1
print(ans)
El bucle exterior corre hasta a < n. Obviamente, a**b = niff a < n(excluyendo el caso donde a = n). El ciclo interno verifica los valores crecientes de bif a ** b == n. Si ese es el caso, el par se agrega a la anslista.
Estoy seguro de que hay una manera de compactar un poco más el código, pero quería que fuera lo más legible posible.
No hay comentarios.:
Publicar un comentario