Votre tâche consiste à créer un programme qui ajoute des nombres aléatoires aux sommes précédentes dans l'épreuve de force ultime de course aux nombres.
Chaque coureur (colonne) commence à 0 et ajoute 1 ou 0 à la somme précédente à chaque étape de la course jusqu'à ce que tous les coureurs atteignent le score requis pour gagner. Le 1 ou le 0 doit être choisi au hasard (la définition standard du hasard peut être trouvée ici ). La sortie affichera le résultat de la course, chaque colonne représentant un coureur, dans ce format:
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
Remarque: seuls les nombres, + et = doivent être inclus dans la sortie.
Contribution
Votre programme acceptera les deux paramètres suivants en entrée:
- le nombre de coureurs (colonnes), qui doit être supérieur à deux
- le score requis pour gagner, qui doit être supérieur à un
C'est le code-golf - le programme avec le moins d'octets gagne.
Edit: il y a un score maximum non exécutoire de 9 - c'est pour préserver l'intégrité de la colonne. De plus, les espaces entre les colonnes peuvent être omis dans la sortie.
Réponses:
Gelée,
373633 octets3 octets grâce à Dennis.
Essayez-le en ligne
Explication
la source
,‘X
(paire avec n incrémenté , choix aléatoire). Dans le lien principalṫ2
peut être remplacé parḊ
(dequeue) et”
par la variable⁶
.Pyth ,
3834 octetsEssayez-le en ligne!
la source
TSQL,
367345341 octetsGolfé
Essayez-le en ligne
Non golfé:
Notez que la graine aléatoire sur le site de test sera toujours la même, donnant le même résultat à chaque fois, en gestion de studio, elle donnera des résultats différents. Peut utiliser différentes valeurs pour les coureurs et l'objectif pour obtenir une image différente
la source
Python 3, 237 octets
Une fonction qui prend l'entrée via un argument et imprime dans STDOUT. Cette approche utilise le fait que la sortie suit un cycle de la période quatre, de la forme «+ valeur = valeur», pour tous les coureurs. En utilisant un compteur modulo quatre, une liste contenant la valeur souhaitée pour chaque étape sous forme de chaîne peut être indexée et le résultat évalué à l'aide de la fonction eval de Python.
Comment ça fonctionne
Essayez-le sur Ideone
la source
Python 2 , 191 octets
Essayez-le en ligne!
Python 3 , 200 octets
Essayez-le en ligne!
la source
Python 2, 278 octets
où r est le non. des coureurs et w est le score à gagner
Essayez-le ici!
la source
Perl 5 , 150 octets
Essayez-le en ligne!
La première entrée est le nombre de coureurs, la deuxième est le score requis.
la source