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!
la source
Réponses:
05AB1E ,
121110 octetsPrend en charge la séquence jusqu'à
2^95 = 39614081257132168796771975168
Essayez-le en ligne!
Explication
1 octet enregistré grâce à Erik the Outgolfer
1 octet enregistré grâce à Riley
la source
X›
peut être≠
Y₃Ým
être₃Ýo
?Pyth,
22212017 octetsEssayez-le en ligne
Explication
la source
fqQlTmjkdftlT.:m^2d12
fqQlTjLkftlT.:m^2d12
Gelée ,
19 1816 octetsIl peut y avoir une solution plus courte maintenant que nous pouvons utiliser n'importe quelle coupure (pas seulement 2048), bien que cette modification de la spécification ait permis une sauvegarde d'un octet de cette implémentation en passant à une coupure de 32768.
--yep. ..
-2 octets grâce à Erik l'Outgolfer (utilisation de
V
pour permettre l'argument droit implicite du filtre et du serrage) -oui, il est très similaire à son inefficace maintenant;aller voter pour lui !
Un lien monadique prenant un numéro et renvoyant une liste de numéros.
Essayez-le en ligne!
Comment?
la source
V
et il va travailler pour 16 au lieu de 1000:⁴Ḷ2*Ẇṫ17VDL$⁼¥Ðf
.Perl 6 ,
6259 octetsEssayez-le en ligne!
la source
Japt ,
22201916 octetsPrend en charge l'entrée jusqu'à
639
mais des lacunes commencent à apparaître dans la séquence après234
(voir la liste complète des plages d'entrée prises en charge ici ). Génère un tableau de chaînes.Essaye-le
I
(64) pourrait être remplacé parL
(100) mais nous entrerions dans la notation scientifique et les inexactitudes de précision. Le fait de les filtrer augmenterait évidemment le nombre d'octets et n'augmenterait que l'entrée maximale à736
.la source
Python 2 , 105 octets
Essayez-le en ligne!
la source
Husk ,
1817 octetsLa sortie est séparée par des retours à la ligne
Essayez-le en ligne!
Comment?
la source
Gelée , 16 octets
Essayez-le en ligne!
Remarque: très inefficace. Renvoie une liste de nombres.
la source
ȷ
s (ie1000
) par20
s (limite supérieure inférieure) .[12, 24, 48]
.JavaScript (ES7),
102100octetsImprime toutes les sous-séquences correspondantes avec
alert()
.Démo
NB : Cet extrait met les résultats en mémoire tampon et les imprime sur la console pour plus de convivialité.
Afficher l'extrait de code
la source
Haskell ,
7267 octetsEssayez-le en ligne!
5 octets enregistrés grâce à Laikoni
J'ai utilisé une limite de
99
car2^99
a une longueur> 27
.la source
length$(show$2^44)++(show$2^45)==28
.Mathematica, 122 octets
Contribution
Production
la source
C, 170 octets
Essayez-le en ligne!
Déroulé:
la source
R , 99 octets
Essayez-le en ligne!
la source
Perl 5 , 76 octets
75 octets de code + 1 pour
-a
Essayez-le en ligne!
la source
Japt, 24 octets
Après un long moment depuis la publication de cette question, j'ai appris ma première langue de golf. Pour cette raison, j'ai décidé de tenter ma chance ici.
Essayez-le en ligne!
Le score n'est pas le meilleur, ce n'est même pas bon, mais cela m'a pris beaucoup de temps .-.
Je perds beaucoup de score, car pour certaines raisons, ã ne peut renvoyer que des tableaux de longueur x ... Cela pourrait même être ~ 10 octets, sinon cela.
Explication:
la source
Rubis , 94 octets
Essayez-le en ligne!
la source