Dans un dé standard (dé), les nombres sont disposés de sorte que les faces opposées s'ajoutent à sept. Écrivez le programme le plus court possible dans votre langue préférée qui génère un lancer aléatoire suivi de 9 basculements aléatoires. Un pourboire est un quart de tour des dés, par exemple, si les dés font face à 5, tous les pourboires possibles sont 1,3,4 et 6.
Exemple de sortie souhaitée:
1532131356
code-golf
random
repeated-transformation
steenslag
la source
la source
JavaScript (71 caractères)
Vous devrez peut-être remplacer
print
paralert
ou autre chose, selon votre environnement JavaScript.la source
GolfScript, 28
la source
Frapper
exemple de code: http://ideone.com/CCfro
la source
((var=expression))
est très agréable - je pensais que le moyen le plus court étaitvar=$((expression))
Mais pourquoi utilisez-vous cela une seule fois et gaspillez-vous des tonnes de caractères sur expr en backticks?R,
5652la source
Bash avec une seule boucle:
100 99 9896http://ideone.com/XrZO7
L'idée clé est que pour choisir un nombre aléatoire dans [1, x] qui n'est pas égal à y, vous pouvez choisir un nombre aléatoire dans [1, x-1] puis incrémenter si c'est> = y. Pour ce problème, nous voulons un nombre aléatoire dans [1,6] qui n'est pas égal à f ou 7-f. Nous devons faire les deux tests dans l'ordre min (f, 7-f), max (f, 7-f).
En supposant qu'un environnement initialement vide pourrait sauver 2 caractères en ne initialisant pas i et en changeant la condition de boucle en
i++<10
la source
Coup:
97 94 92 90 8987Fortement joué par Aman ZeeK Verma:
http://ideone.com/QiuTx
NB: il peut être réduit de 5 caractères en changeant la première ligne en
for((;i++<10;))
mais cela fait des hypothèses qui ne sont pas toujours valides. Cela fonctionnerait bien dans ideone mais quelqu'un l'exécutant à partir d'un shell pourrait avoiri
ouf
exporté vers quelque chose de non nul.la source
man bash
, je le recommande. Une fois, je l'ai lu de bout en bout, et le simple fait d'avoir une vague idée de ce qui est possible et mérite d'être recherché m'a bien servi.Windows PowerShell, 45
Assez banal, en fait. Je génère une liste de lancers de dés possibles
1..6
, puis je sélectionne uniquement ceux qui ne sont pas égaux à sept moins le dernier lancer, puis uniquement ceux qui ne sont pas égaux au dernier lancer. Dans la liste restante, je sélectionne ensuite un élément aléatoire et je l'assigne à$d
. Étant donné qu'il$d
est initialement traité comme0
il lance un dé normal la première fois.Script de test:
Histoire:
la source
The term 'random' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
Get-Random
applet de commande n'existait pas dans la v1.J
Cela devrait fonctionner, mais malheureusement le générateur aléatoire de J reste bloqué après la 3ème itération:
6 4 5 4 5 4 5 4 5 4
la source
(?4)
tendance à être roulé une fois et traité comme une constante pour les itérations suivantes si vous n'y faites pas attention. J'ai travaillé autour de lui en utilisant une(?@4:)
construction semblable à.Rubis
66 caractères
la source
J, 30 caractères
6 2 3 5 4 2 4 1 3 6
Explications (lues de droite à gauche):
?6
renvoie un nombre aléatoire compris entre 0 et 5^:(<10)
applique une fonction 9 fois, accumulant les résultats en cours de route. La fonction est:?@4:{(i.6)-.],5&-
] , 5&-
renvoie un tableau du nombre d'entrée et de son complément à 5 (nous gérons actuellement des nombres à base de 0, donc la somme des faces opposées est 5)(i. 6) -.
les supprime de l'ensemble complet des entiers 0 à 5. Nous nous retrouvons avec toutes les positions valides après une seule opération de basculement à partir de la position d'entrée.?@4: {
en choisit un au hasard.>:
incrémente toute la séquence pour ramener les chiffres à l'intervalle 1 à 6.la source
GS2, 16 octets
Voici comment ça fonctionne
la source
QBasic (71 caractères)
Les deux nouvelles lignes sont nécessaires et incluses dans le nombre de caractères comme un caractère chacune.
la source
TI-BASIC,
3834Solution ennuyeuse, mais elle est plus courte que la révision précédente. Je profite du fait que sur une nouvelle calculatrice,
Ans
est initialisé à zéro.la source
Java 8, 130 octets
Essayez-le ici.
En tant que programme complet avec méthode principale détaillée, ce serait 178 octets à la place:
Essayez-le ici.
Semi-port de la réponse Bash de @AmanZeeKVerma .
Explication:
la source
MATLAB 58 octets
la source
> <> , 71 octets
Je suis content d'avoir pu présenter la
x
randomisation par pointeur de code de <> car je ne me souviens pas l'avoir vu ici.Vous pouvez l'essayer sur cet interprète en ligne (coller le code, soumettre, démarrer).
la source
R , 67 octets
Essayez-le en ligne!
Il y a une réponse R du golfeur, mais je pense que c'est une approche différente des réponses soumises jusqu'à présent.
la source
05AB1E , 23 octets
Peut certainement être joué au golf, mais je ne le vois pas actuellement ..
Essayez-le en ligne.
Explication:
la source