Direcciones
Escriba un programa que, dado un entero de entrada n ( n >= 0), produzca el entero positivo más pequeño m donde:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]aybson secuencias finitas de la misma longitud- todos los elementos de
ason menores quem - todos los elementos de
bson menores quem - todos los elementos de
ason diferentes y enterosa[x] >= 0 - todos los elementos de
bson diferentes y enterosb[x] >= 0 a[x]yb[x]no son ambos 0 (ya que 0 ^ 0 es indeterminado)
Este es el código de golf , por lo que gana menos bytes.
Ejemplos
In 0 -> Out 1
Possible Sum:
In 1 -> Out 2
Possible Sum: 1^0
In 2 -> Out 3
Possible Sum: 2^1
In 3 -> Out 3
Possible Sum: 2^1 + 1^0
In 6 -> Out 4
Possible Sum: 2^2 + 3^0 + 1^1
In 16 -> Out 5
Possible Sum: 2^4
In 17 -> Out 4
Possible Sum: 3^2 + 2^3
In 23 -> Out 6
Possible Sum: 5^1 + 3^0 + 2^4 + 1^3
In 24 -> Out 5
Possible Sum: 4^2 + 2^3
In 27 -> Out 4
Possible Sum: 3^3
In 330 -> Out 7
Possible Sum: 6^1 + 4^3 + 3^5 + 2^4 + 1^0
m<2luego m<3, m<4etc., hasta que encuentre una suma que sea igual n. Además, pensé en tener la suma para 0no ser términos, pero ¿cuál es el resultado? m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k].
ay bson secuencias finitas de longitud 0, por lo que no hay un número entero mque no satisfaga las restricciones, y dado que no hay un número entero más pequeño, la respuesta no está definida. Las posibles soluciones serían pedir el número natural más pequeño m(en cuyo caso debe cambiar la respuesta esperada allí 0) o el número entero positivo más pequeño m.