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 = n
iff a < n
(excluyendo el caso donde a = n
). El ciclo interno verifica los valores crecientes de b
if a ** b == n
. Si ese es el caso, el par se agrega a la ans
lista.
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