Angenommen, Sie haben zwei sechsseitige Würfel. Wirf das Paar 100 Mal und berechne die Summe jedes Paares. Geben Sie aus, wie oft jede Summe aufgetreten ist. Wenn eine Summe nie gerollt wurde, müssen Sie eine Null oder eine Methode angeben, um zu identifizieren, dass diese bestimmte Summe nie gerollt wurde.
Beispielausgabe: [3, 3, 9, 11, 15, 15, 11, 15, 7, 8, 3]
Die Häufigkeit, mit der eine Summe gewürfelt wurde, ist im Summenindex 2 angegeben
In diesem Beispiel wurde eine Summe von zwei 3-mal gewürfelt ([2-2]), eine Summe von drei 3-mal gewürfelt ([3-2]), eine Summe von vier 9-mal gewürfelt ([4-2]) und so weiter auf. Es spielt keine Rolle, ob die einzelnen Würfelwürfe zu einer Summe führen (5 und 2 werden als die gleiche Summe wie 6 und 1 gezählt).
"Hässliche" Ausgaben sind in Ordnung (viele nachgestellte Nullen, zusätzliche Ausgaben, seltsame Darstellungsweisen von Daten usw.), solange Sie erklären, wie die Daten gelesen werden sollen.
quelle
0
in der Liste enthalten sein oder kann sie weggelassen werden?extra output
aber wir können immer noch keine unendliche Liste von Zufallszahlen ausgeben und sagen, dass sie irgendwo dort zufällig auftaucht, oder? Das ist eine Standard-Regelungslücke.Antworten:
Jelly ,
1312 BytesEine Niladische Verbindung. Das Ausgabeformat ist eine Liste mit Listen von
[value, count]
.(Null würfelt bedeutet, dass kein solcher Eintrag in der Ausgabe vorhanden ist - z. B. würde eine Ausgabe von
[[6, 12], [7, 74], [8, 14]]
angeben, dass nur Summen von sechs, sieben und acht gewürfelt wurden.)Probieren Sie es online!
Wie?
quelle
Python 2 ,
847776 Bytes-7 Bytes dank @JonathanAllan
-1 Bytes dank @FelipeNardiBatista
Probieren Sie es online!
Der Ausgang hat zwei führende Nullen
quelle
05AB1E ,
2119 Bytes-2 Bytes dank @Emigna
Probieren Sie es online!
quelle
TÝÌтF6Lã.RO¸ì}{γ€g<
Spart 2 Bytes.Mathematica, 50 Bytes
Einfache Implementierung. Wenn eine Summe niemals erreicht wird,
0
wird sie nicht in der Liste aufgeführt.quelle
MATL , 17 Bytes
Die Ausgabe ist eine Liste von 11 Zahlen (von denen einige möglicherweise 0 sind), die durch Leerzeichen getrennt sind und die Anzahl der Male für jedes Paar von 2 bis 12 angeben.
Probieren Sie es online!
Zum Vergleich kann die theoretische durchschnittliche Häufigkeit, mit der jedes Paar durchschnittlich auftritt, wie folgt berechnet werden
6:gtY+36/100*
.If the number of rolls is increased the obtained values approach the theorerical ones. See for example the obtained and theoretical values with 10000 rolls.
quelle
CJam,
1820 bytesProbieren Sie es online!
quelle
e`
Nimmt nur zwei Bytes.Perl 6 , 30 Bytes
(^6).pick
ist eine Zufallszahl von null bis fünf.xx 100
erstellt eine 100-Elemente-Liste solcher Zahlen.xx 2
erzeugt zwei solcher Listen.[Z+]
Zippt diese beiden Listen mit Addition, wodurch eine Liste mit 100 Elementen mit zwei Würfeln erstellt wird. Zum Schlussbag
packt man diese Liste in eine Tasche, die eine Sammlung mit einer Vielzahl ist. Beispiel für eine REPL-Ausgabe:Das bedeutet, dass 1, 9 und 0 jeweils viermal, viermal vierzehnmal usw. vorkamen. Da die "Würfel" in diesem Code eine Zahl von 0 bis 5 ergeben, addieren Sie zwei zu jeder dieser Zahlen, um den Würfeln ein Paar zu geben Standardwürfel 1-6 würden produzieren.
quelle
R ,
4537 Bytes-7 Bytes dank Jarko Dubbledam
Gibt ein Tabellenobjekt mit Elementen und deren Anzahl zurück. Schließt alle Werte aus, die nicht aufgetreten sind.
Probieren Sie es online!
alte Version:
sample(6,200,T)
200-mal1:6
abtasten mit Ersetzen, dann wird eine Matrix mit 2 Zeilen erstellt, die Spalten summiert, dann in aufsteigender Reihenfolge sortiert und die Länge der Läufe berechnet. Lässt alle nicht erreichten Würfelsummen aus.Gibt ein
rle
Objekt zurück, das standardmäßig im folgenden Format gedruckt wird:Wo
lengths
sind die Zählimpulse und wo sindvalues
die Würfelsummen?TIO Link
quelle
PHP, 53 Bytes
druckt ein assoziatives Array. Der Schlüssel ist das Ergebnis von zwei Würfeln und der Wert ist die Anzahl dieser Ergebnisse
Probieren Sie es online!
quelle
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 Byte
Da eine "hässliche" Ausgabe zulässig ist, wird im Folgenden ein Array ausgegeben, das angibt, wie oft jede Punktzahl von 2 bis 12 gewürfelt wurde, wobei zusätzliche 89 Elemente auf 0 gesetzt werden.
quelle
SILOS , 99 Bytes
Probieren Sie es online!
Wirft die Würfel und legt sie an den ersten 11 Stellen des Haufens ab. Anschließend durchläuft er den Haufen und druckt jeden Zähler. Dies ist eine der ersten aufgezeichneten Verwendungen des Schlüsselworts rand in Kombination mit einem Zuweisungsoperator.
Es ist erwähnenswert, dass einige Änderungen vorgenommen werden können, um ein Histogramm der Rollen auszugeben.
Leider muss es vom Offline-Interpreter ausgeführt werden .
quelle
Elixier,
157118 BytesVersuchte etwas schwerer als Gelee.
Erläuterung:
y
die Variable mit der Rollsumme.Sollte gerne genannt werden
p.(p,[0,0,0,0,0,0,0,0,0,0,0,0,0])
. Es wird eine Warnung ausgegeben, aber es wird das gewünschte Array mit 13 Elementen zurückgegeben, die ersten 2 sollten ignoriert werden.quelle
Java 8, 104 Bytes
Ein Lambda, das eine
int[]
der Frequenzen zurückgibt. Zuweisen zuSupplier<int[]>
.Probieren Sie es online
Ungolfed Lambda
quelle
q / kdb +,
312825 BytesLösung:
Beispiel:
Erläuterung:
Wirf einen Würfel
100?6
, wirf noch einmal einen Würfel und addiere die Vektoren. Dann sehen Sie, wo jedes Ergebnis dem Bereich 0..10 entspricht, und fassen Sie dann alle Wahrheiten in jeder Liste zusammen:Anmerkungen:
"Golfen" tauscht hauptsächlich
q
Stichwörter gegenk
Äquivalente aus, nämlicheach
undtil
.quelle
QBIC , 45 Bytes
Erläuterung:
quelle
APL, 14 Bytes
Stellt Daten als Tabelle dar, wobei die linke Spalte die Summe und die rechte die Anzahl der Vorkommen darstellt.
Erklärt
Vorherigen Post:
APL,
3631 Bytes5 Bytes gespart dank @ Adám
Erläuterung
Wie
11⍴⍉⌽f
funktioniert dasquelle
(11⍴⍉⌽f)[⍋11⍴⍉f←,∘⍴⌸+/?100 2⍴6]
,∘⍴⌸+/?100 2⍴6
sollte daher ausreichen, da es die auftretenden Summen (die also angeben, welche nicht vorhanden sind) und deren Häufigkeiten auflistet (daher ist keine Sortierung erforderlich).> <> 93 Bytes
Probieren Sie es online aus oder schauen Sie es sich auf dem Fischspielplatz an !
Das hässliche Ausgabeformat ist eine Folge von Zahlen, die durch Zeilenumbrüche getrennt sind n- te Zahl wie oft die Summe n war. Es ist hässlich, weil es für alle positiven ganzen Zahlen n für immer gedruckt wird , obwohl die meisten Zeilen 0 sind. ( Die TIO-Verbindung wird so geändert, dass sie nach n stoppt = 12 auf Kosten von 5 Byte beendet wird.)
Der Fischspielplatz ist ziemlich langsam - es dauert ungefähr dreieinhalb Minuten, bis n = 12 bei Höchstgeschwindigkeit gedruckt wird - daher möchten Sie ihn möglicherweise so ändern, dass 10 Würfelpaare statt 100 gewürfelt werden, indem Sie
aa*
in der 5. Zeile auf änderna
(das heißt,a
gefolgt von zwei Leerzeichen).Die zufälligen Würfelwürfe werden mit diesem Bit ausgeführt:
Das
x
s ändern die Richtung des Fisches nach dem Zufallsprinzip. Unter der Annahme, dass dies mit gleichen Wahrscheinlichkeiten implementiert wird, ist es klar, dass das Ergebnis des Würfels eine gleichmäßige Verteilung durch Symmetrie ist.Sobald der Fisch 100 Würfelpaare gewürfelt hat, zählt er, wie oft die Summe n war mit diesem Bit war (aus Gründen der Übersichtlichkeit und beginnend oben links):
Wir behalten n ganz vorne im Stapel und verwenden das Register, um zu zählen, wie oft n angezeigt wird.
quelle
Javascript
8575 ZeichenVielen Dank Shaggy!
Geschichte
85
quelle
a=[];for(i=100;i--;)a[o=(f=_=>Math.random()*6|0)()+f()]=(a[o]|0)+1;alert(a)
. (Hinweis: In diesem Fall spart oder kostet das IIFE keine Bytes, aber es gibt Zeiten, in denen Sie ein oder zwei Bytes sparen können. Daher ist es praktisch, es in Ihrem "Golfbag" zu haben.)|0
ist das die golferische Lösung zu "Math.floor ()" und auch zu "undefined to 0" zu konvertieren.Perl 5 , 64 Bytes
Probieren Sie es online!
Ausgabeformat:
<sum> <# rolls>
Bei Beträgen ohne Rollen ist die Rollenspalte leer.
quelle
PHP, 65 Bytes
druckt ein Anführungszeichen
0_
und dann die Vorkommen von 2 bis 12, gefolgt von einem Unterstrich.Lauf mit
-nr
oder versuche es online .quelle
K (oK) ,
2422 BytesLösung:
Probieren Sie es online!
Erläuterung:
k
"Port" meinerq
Lösung. Die Auswertung erfolgt von rechts nach links, daher Klammern um das til (!
)Bearbeitungen:
quelle
Pyth, 21 Bytes
Gibt jeden Schritt bei der Erstellung der Rollen aus und gibt dann die Häufigkeit jeder Summe von 0 bis 10 in einer separaten Zeile aus.
quelle
Java (OpenJDK 8) , 95 Byte
Probieren Sie es online!
Erklärungen
quelle