Supposons que vous ayez deux dés à six faces. Faites rouler la paire 100 fois, en calculant la somme de chaque paire. Imprimez le nombre de fois où chaque somme s'est produite. Si une somme n'a jamais été roulée, vous devez inclure un zéro ou un moyen d'identifier que cette somme particulière n'a jamais été roulée.
Exemple de sortie: [3, 3, 9, 11, 15, 15, 11, 15, 7, 8, 3]
Le nombre de fois qu'une somme a été roulée est représenté dans l'index des sommes - 2
Dans cet exemple, une somme de deux a été roulée 3 fois ([2-2]), une somme de trois 3 fois ([3-2]), une somme de quatre 9 fois ([4-2]), etc. sur. Peu importe les jets de dés individuels pour arriver à une somme (5 et 2 seraient comptés comme la même somme que 6 et 1)
Les sorties "laides" sont très bien (charges de zéros de fin, sortie supplémentaire, façons étranges de représenter les données, etc.) tant que vous expliquez comment les données doivent être lues.
la source
0
dans la liste, ou peut-il être omis?extra output
mais nous ne pouvons toujours pas produire une liste infinie de nombres aléatoires et dire qu'elle apparaît au hasard quelque part là-dedans, non? C'est une échappatoire standard iirc.Réponses:
Gelée ,
1312 octetsUn lien niladique. Le format de sortie est une liste de listes de
[value, count]
.(Zéro roll signifie qu'aucune entrée de ce type n'est présente dans la sortie - par exemple, une sortie de
[[6, 12], [7, 74], [8, 14]]
identifierait que seules des sommes de six, sept et huit ont été roulées.)Essayez-le en ligne!
Comment?
la source
Python 2 ,
847776 octets-7 octets grâce à @JonathanAllan
-1 octet grâce à @FelipeNardiBatista
Essayez-le en ligne!
La sortie a deux zéros non significatifs
la source
05AB1E ,
2119 octets-2 octets grâce à @Emigna
Essayez-le en ligne!
la source
TÝÌтF6Lã.RO¸ì}{γ€g<
enregistre 2 octets.Mathematica, 50 octets
Mise en œuvre simple. Si aucune somme n'est jamais atteinte, le
0
est omis de la liste.la source
MATL , 17 octets
La sortie est une liste de 11 nombres (certains d'entre eux éventuellement 0) séparés par des espaces, indiquant le nombre de fois pour chaque paire de 2 à 12.
Essayez-le en ligne!
A titre de comparaison, le nombre moyen théorique de fois où chaque paire apparaîtra en moyenne peut être calculé comme
6:gtY+36/100*
.Si le nombre de rouleaux augmente, les valeurs obtenues approchent des valeurs théoriques. Voir par exemple les valeurs obtenues et théoriques avec 10000 rouleaux.
la source
CJam,
1820 octetsEssayez-le en ligne!
la source
e`
ne prend que deux octets.Perl 6 , 30 octets
(^6).pick
est un nombre aléatoire de zéro à cinq.xx 100
fait une liste de cent éléments de ces nombres.xx 2
produit deux de ces listes.[Z+]
zippe ces deux listes avec ajout, produisant une liste de cent éléments de rouleaux de deux dés. Enfin,bag
met cette liste dans un sac, qui est une collection avec une multiplicité. Exemple de sortie REPL:Cela signifie que 1, 9 et 0 se sont produits quatre fois chacun, quatre se sont produits quatorze fois, etc. Étant donné que les "dés" dans ce code produisent un nombre compris entre 0 et 5, ajoutez deux à chacun de ces nombres pour obtenir une paire de rouleaux les dés standard 1-6 produiraient.
la source
R ,
4537 octets-7 octets grâce à Jarko Dubbledam
Renvoie un objet table d'éléments et de décompte de chacun. Exclut toutes les valeurs qui ne se sont pas produites.
Essayez-le en ligne!
ancienne version:
sample(6,200,T)
échantillonne 200 fois1:6
uniformément avec remplacement, puis il crée une matrice à 2 lignes, additionne les colonnes, puis les trie par ordre croissant et calcule les longueurs des analyses. Omet toutes les sommes de dés qui ne sont pas atteintes.Renvoie un
rle
objet, qui s'imprime par défaut au format suivant:où
lengths
sont les comptes et lesvalues
sommes des dés.Lien TIO
la source
PHP, 53 octets
imprime un tableau associatif. la clé est le résultat de deux dés et la valeur est le nombre de ces résultats
Essayez-le en ligne!
la source
If a sum was never rolled, you must include a zero or some way to identify that that particular sum was never rolled.
JavaScript (ES6), 72 octets
Étant donné que la sortie "moche" est autorisée, ce qui suit produira un tableau contenant le nombre de fois où chaque score de 2 à 12 a été obtenu, avec 89 éléments supplémentaires définis sur 0.
la source
SILOS , 99 octets
Essayez-le en ligne!
Lance les dés et les stocke dans les 11 premiers endroits du tas, puis itère simplement à travers le tas en imprimant chaque compteur. Il s'agit de l'une des premières utilisations enregistrées du mot-clé rand combiné avec un opérateur d'affectation.
Il convient de noter que quelques modifications peuvent être apportées pour produire un histogramme des rouleaux.
Malheureusement, il doit être exécuté à partir de l' interpréteur hors ligne .
la source
Elixir,
157118 octetsJ'ai essayé quelque chose de plus difficile que Jelly.
Explication:
y
être la variable avec la somme des rouleaux.Doit être appelé comme
p.(p,[0,0,0,0,0,0,0,0,0,0,0,0,0])
. Il lèvera un avertissement, mais il renverra le tableau souhaité avec 13 éléments, les 2 premiers doivent être ignorés.la source
Java 8, 104 octets
Un lambda renvoyant une
int[]
des fréquences. Attribuer àSupplier<int[]>
.Essayez-le en ligne
Lambda non golfé
la source
q / kdb +,
312825 octetsSolution:
Exemple:
Explication:
Lancez un dé
100?6
, lancez à nouveau un dé et ajoutez les vecteurs ensemble. Ensuite, voyez où chaque résultat correspond à la plage 0..10, puis résumez toutes les vérités dans chaque liste:Remarques:
«Golf» consiste principalement à échanger des
q
mots clés pour lesk
équivalents, à savoireach
ettil
.la source
QBIC , 45 octets
Explication:
la source
APL, 14 octets
Présente les données sous forme de tableau avec la colonne de gauche représentant la somme et la droite représentant le nombre d'occurrences.
Expliqué
Post précédent:
APL,
3631 octets5 octets enregistrés grâce à @ Adám
Explication
Comment ça
11⍴⍉⌽f
marche?la source
(11⍴⍉⌽f)[⍋11⍴⍉f←,∘⍴⌸+/?100 2⍴6]
,∘⍴⌸+/?100 2⍴6
devrait donc être suffisant, car il répertorie les sommes qui se produisent (indiquant ainsi lesquelles ne sont pas là) et leurs fréquences (donc aucun tri n'est nécessaire).> <> , 93 octets
Essayez-le en ligne ou regardez-le au terrain de pêche !
Le format de sortie laid est une séquence de nombres séparés par des sauts de ligne, où le n ième nombre dit combien de fois la somme était n - c'est moche parce qu'il imprime toujours, pour tous les entiers positifs n , bien que la plupart des lignes sera 0. ( La liaison TIO est modifiée pour s'arrêter après n = 12, au prix de 5 octets.)
Le terrain de jeu de poissons est assez lent - il faut environ trois minutes et demie pour imprimer jusqu'à n = 12 à vitesse maximale - vous pouvez donc le modifier pour lancer 10 paires de dés au lieu de 100 en changeant
aa*
la 5e ligne ena
(c'est-à-direa
suivi de deux espaces).Les jets de dés aléatoires sont effectués par ce bit:
Les
x
s changent la direction du poisson au hasard. En supposant que cela soit implémenté avec des probabilités égales, il est clair que le résultat du jet de dé est une distribution uniforme par symétrie.Une fois que le poisson a lancé 100 paires de dés, il compte combien de fois la somme était n avec ce bit (déballé pour plus de clarté et commençant en haut à gauche):
Nous gardons n à l'avant de la pile et utilisons le registre pour compter le nombre de fois où n apparaît.
la source
Javascript
8575 caractèresMerci Shaggy!
Histoire
85
la source
a=[];for(i=100;i--;)a[o=(f=_=>Math.random()*6|0)()+f()]=(a[o]|0)+1;alert(a)
. (Remarque: dans ce cas, l'IIFE n'économise ni ne coûte aucun octet, mais il peut parfois vous faire économiser un octet ou 2, il est donc pratique de l'avoir dans votre "sac de golf".)|0
la solution golfy pour "Math.floor ()" et aussi pour "convertir undefined en 0".Perl 5 , 64 octets
Essayez-le en ligne!
Format de sortie:
<sum> <# rolls>
Pour les sommes avec zéro rouleau, la colonne des rouleaux est vide.
la source
PHP, 65 octets
imprime un interligne
0_
, puis les occurrences de 2 à 12, suivies d'un trait de soulignement chacune.Courez avec
-nr
ou essayez-le en ligne .la source
K (oK) ,
2422 octetsSolution:
Essayez-le en ligne!
Explication:
k
«port» de maq
solution. L'évaluation se produit de droite à gauche, d'où des crochets autour du til (!
)Modifications:
la source
Pyth, 21 octets
Sort chaque étape de la création des rouleaux, puis sort la fréquence de chaque somme 0 - 10 sur une ligne distincte.
la source
Java (OpenJDK 8) , 95 octets
Essayez-le en ligne!
Explications
la source