La plus ancienne mine de sel polonaise, située à Bochnia *, a été inaugurée en 1248, que nous pouvons considérer comme un nombre magique . On peut voir qu'il est égal à 4 chiffres de la séquence de exponentiations: .
Comme la date est en fait à 4 chiffres de la séquence, nous pourrions l'allonger. Nous pourrions répéter le processus jusqu'à atteindre l'infini. La séquence ressemblerait à ceci, si nous la limitons au nombre2048
124816326412825651210242048
Pour le rendre un peu meilleur, nous pouvons séparer les chiffres:
1|2|4|8|16|32|64|128|256|512|1024|2048
Essayons une séquence personnalisée plus longue que la date. Disons que nous voulons qu'il ait 5 chiffres - il y a plus d'une possibilité:
24816
81632
64128
Ou à 3 chiffres:
124
248
816
Nous pourrions également ajouter les nombres à 3 chiffres à cela, mais disons qu'une séquence doit avoir au moins deux nombres .
* Il n'y a aucune information à ce sujet sur Wikipedia anglais. Si vous entrez la version polonaise - alors il y en a. Si vous visitez la mine, les ouvriers vous diront également qu'elle a commencé en 1248.
Le défi
Créez une séquence d'exponentiation comme dans les exemples ci-dessus avec 2 comme base.
Étant donné un nombre compris entre 2 et 27, sortez toutes les parties possibles de la séquence (celle de 2048 ou plus si vous le souhaitez) avec un nombre de chiffres égal à l'entrée. Vous ne pouvez pas couper un nombre, la sortie comme 481
n'est donc pas valide, car 16 est coupé en deux.
Règles:
- Les failles standard sont interdites.
- Vous pouvez supposer que l'entrée est un nombre à l'intérieur de la plage.
- Votre programme peut accepter des entrées supérieures à la plage (28+), mais cela n'augmentera / ne diminuera pas le score.
- Les espaces en sortie sont ignorés. Vous pouvez sortir comme
124
ou comme4 8 16
. - Différentes possibilités doivent être séparées par n'importe quel caractère de la liste:
,./|
ou un saut de ligne. - Vous pouvez sortir sous forme de tableau.
- Chaque possibilité doit inclure au moins 2 numéros différents .
- Vous devez sortir une partie de la séquence, vous ne pouvez pas mélanger des nombres qui ne sont pas côte à côte, comme:
14
. - La sortie codée en dur n'est pas autorisée, cependant, vous pouvez coder en dur une chaîne / un nombre / un tableau contenant la séquence complète.
- L'entrée 27 doit renvoyer la séquence 2048 complète.
- Comme déjà mentionné précédemment, ne coupez pas les chiffres . Ex.
16
doit rester16
- vous ne pouvez pas utiliser481
- vous devez utiliser4816
. - ÉDITER: J'aurais peut-être dit quelque chose de mal là-bas; 2048 est le dernier nombre que votre programme devrait prendre en charge, vous pouvez ajouter la prise en charge des int plus gros.
Cas de test
Contribution: 2
12, 24, 48
Contribution: 3
124, 248, 816
Contribution: 4
1248, 4816, 1632, 3264
Contribution: 5
24816, 81632, 64128
Contribution: 27
124816326412825651210242048
Et des chiffres plus tard ...
Si j'ai fait une erreur dans l'un des cas de test, dites-le-moi ou modifiez la question.
C'est le code-golf , donc le code le plus court en octets gagne!