Je viens d'essayer un jeu appelé Couch 2048 .
(Remarque: vous devriez jeter un coup d'œil pour mieux comprendre cette question.)
Comme ce n'était pas très excitant pour moi, je me demandais 'combien de plus jusqu'en 2048!?'
Cela m'a inspiré pour poster un défi, car le calcul n'est pas aussi simple que je le pensais.
Votre objectif: étant
donné une liste de boules sur le canapé, vous devez générer le nombre de boules d'une valeur de 2 qui doivent tomber du ciel pour que l'on puisse gagner la partie (en atteignant la boule 2048).
- Supposons que l'entrée est valide.
- Supposons que le joueur ne laisse tomber aucune balle.
- Supposons que les boules qui tombent du ciel ont toujours une valeur de 2, comme je l'ai dit.
- Exemples de sortie valides: 3, "4", [5], ["6"]
Edit:
je devrais clarifier quelque chose:
- Vous devez imprimer la plus petite quantité de 2 nécessaire.
Cas de test:
[2048] -> 0
vous avez déjà gagné
[1024,1024] -> 0
Vous n'avez plus besoin de balles pour gagner
[1024,512,256,128,64,32,16,8,4,2] -> 1
Une balle requise pour «activer la chaîne»
[512] -> 768
[512,2] -> 767
[4,16,64] -> 982
Remarques :
je ne suis pas un locuteur natif - dites-moi si vous avez repéré une faute de frappe ou du texte non grammatical.
Si quelque chose n'est pas clair, demandez dans les commentaires.
[4,16,64] -> 22
?2048
et divisez par2
- si c'est le cas, vous voudrez peut-être revérifier le dernier cas de test - sinon, utilisez-le comme exemple pour expliquer pourquoi la sortie n'est pas 't982
.Réponses:
Java 8, 17 octets
Port de la réponse JavaScript de @LuisFelipeDeJesusMunoz .
Essayez-le en ligne.
Explication:
la source
Brain-Flak , 72 octets
Essayez-le en ligne!
la source
Python 2 , 22 octets
Tu sais, je viens de réaliser que
4**5
c'est la même longueur que1024
.Essayez-le en ligne!
la source
MathGolf ,
65 octetsPremière réponse MathGolf. :)
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
la source
05AB1E , 5 octets
Port de la réponse JavaScript de @LuisFelipeDeJesusMunoz .
Essayez-le en ligne ou vérifiez tous les cas de test .
Explication:
la source
APL (Dyalog Unicode) , 10 octets
Essayez-le en ligne!
la source
JavaScript (Node.js) , 25 octets
D'après le commentaire et la réponse de @Shaggys
-3 octets de @Arnauld = D
Essayez-le en ligne!
la source
J , 10 octets
Essayez-le en ligne!
Alternative:
J , 10 octets
Essayez-le en ligne!
la source
Rubis , 17 octets
Essayez-le en ligne!
la source
Catholicon , 5 octets
Explication:
la source
TI-Basic, 8 octets
la source
JavaScript, 28 octets
Essayez-le en ligne
la source
Gelée ,
76 octetsEssayez-le en ligne!
Explication:
-1 octet en utilisant un nombre en base 250
la source
Japt,
76 octetsEssayez-le ou vérifiez tous les cas de test
la source
perl -aE, 27 octets
Cela lit une ligne avec des nombres (séparés par des espaces)
STDIN
et écrit la réponseSTDOUT
.Ce qu'il fait, c'est soustraire tous les nombres de l'entrée de 2048, et il divise le reste par 2. Le
-a
commutateur place le dans le tableau@F
(un nombre par élément). Si nous interpolons un tableau dans une chaîne (ce que nous faisons ici), perl place la valeur$"
entre les éléments. La variable peu utilisée$:
est par défaut\n-
; et comme l'espace blanc entre les jetons est ignoré, le résultat soustrait tous les nombres de 2048. Leeval
fait le calcul.la source
JavaScript (Node.js) , 33 octets
Essayez-le en ligne!
Pourquoi tu ne fais pas ça
[1024,1024,1024]
?la source
R , 17 octets
Essayez-le en ligne!
la source
TeaScript , 11 octets
Essayez-le en ligne!
la source
Stax , 6 octets
Exécuter et déboguer
la source
Perl 6 , 12 octets
Essayez-le en ligne!
Anonyme Quel que soit lambda qui prend une liste et renvoie un nombre.
la source
AWK, 26 octets
Les numéros d'entrée sont séparés par des retours à la ligne (c'est-à-dire un par ligne)
la source
Neim, 6 octets
Assez nouveau pour Neim mais ça a fonctionné
Explication:
Essayez-le en ligne!
la source
JAVA, 30 octets
la source
RAD , 10 octets
Essayez-le en ligne!
la source
Clojure , 24 octets
Essayez-le en ligne!
la source
Haskell , 16 octets
Une fonction anonyme, prend une liste et retourne un flottant.
Essayez-le en ligne!
la source
F #, 24 octets
1024 moins la somme divisée par 2.
la source