Reto
Hay muchos números que pueden expresarse como la diferencia de dos cuadrados, o como la diferencia de dos cubos, o tal vez incluso potencias más altas. Hablando de cuadrados, hay varias formas de escribir un número, digamos 75, como la diferencia de 2 cuadrados. Puedes escribir:
75 = (10)^2 - (5)^2
= (14)^2 - (11)^2
= (38)^2 - (37)^2
Entonces hablemos del desafío. En primer lugar, el usuario ingresa un número y luego ingresa un valor para n. Debe mostrar todas las formas en que se puede escribir ese número en forma de aⁿ - bⁿ.
Entrada y salida
La entrada será el número y el valor de n. Su salida tendrá todos esos pares de 'a' y 'b' de manera que se cumpla la condición mencionada anteriormente. El primer número del par debe ser mayor que el segundo. Tenga en cuenta que a, b, n y el número de entrada son todos enteros positivos yn> 1 .
Ejemplos
50, 2 -> (none)
32, 2 -> (9,7), (6, 2)
7, 3 -> (2,1)
665, 6 -> (3, 2)
81, 4 -> (none)
Tanteo
Este es el código de golf , por lo que gana el código más corto.
fuente

==en UniHaskell es algo confuso, ya que denota congruencia en matemáticas.05AB1E , 9 bytes
Muy ineficiente para valores de entrada más grandes.
Pruébalo en línea!
Explicación
fuente
MATL , 11 bytes
Pruébalo en línea! O verificar todos los casos de prueba .
Explicación
fuente
APL (Dyalog) , 21 bytes
Pruébalo en línea!
El argumento izquierdo es
n.fuente
Python 2 , 65 bytes
Pruébalo en línea!
fuente
Jalea , 10 bytes
Un programa completo que toma
i, ynque imprime los pares[b,a]con una salida vacía cuando no hay ninguno.Pruébalo en línea!
¿Cómo?
fuente
JavaScript (ES7), 64 bytes
Una función recursiva que toma datos en la sintaxis de curry
(n)(p). Devuelve una lista de pares de enteros separados por espacios, o una cadena vacía si no existe una solución. Utiliza el mismo algoritmo que la respuesta Python de user202729 .O 60 bytes con matrices encapsuladas terminadas en 0:
Esto daría salida
[ 9, 7, [ 6, 2, 0 ] ]para f (32) (2) .Casos de prueba
Mostrar fragmento de código
fuente
Pyth , 14 bytes
Pruébalo aquí! , Alternativa!
fuente
Python 3 , 71 bytes
¡Gracias Mr.Xcoder por guardar algunos bytes!
Pruébalo en línea!
Python 3 , 69 bytes
Pruébalo en línea!
Usar el enfoque de fuerza bruta x ^ 2 de humanhuman realmente ahorra bytes.
fuente
Octava , 80 bytes
Pruébalo en línea!
fuente
Perl 6 , 45 bytes
Pruébalo en línea!
fuente