instructions
Écrivez un programme qui, étant donné un entier d'entrée n ( n >= 0
), sort le plus petit entier positif m où:
n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k]
a
etb
sont des séquences finies de la même longueur- tous les éléments de
a
sont inférieurs àm
- tous les éléments de
b
sont inférieurs àm
- tous les éléments de
a
sont différents et entiersa[x] >= 0
- tous les éléments de
b
sont différents et entiersb[x] >= 0
a[x]
etb[x]
ne sont pas tous les deux 0 (puisque 0 ^ 0 est indéterminé)
Il s'agit de code-golf , donc le moins d'octets gagne.
Exemples
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<2
puis m<3
alors m<4
etc. jusqu'à ce que je trouve une somme égale n
. Aussi, j'ai pensé à ne pas avoir de somme 0
, mais quelle est la sortie? m>?
n = a[1]^b[1] + a[2]^b[2] + ... + a[k]^b[k]
.
a
et b
sont des séquences finies de longueur 0
, donc il n'y a pas d'entier m
qui ne satisfait pas aux contraintes, et comme il n'y a pas de plus petit entier, la réponse n'est pas définie. Les correctifs possibles seraient de demander le plus petit nombre naturel m
(auquel cas vous devriez y changer la réponse attendue 0
) ou le plus petit entier positif m
.