Eine Bingokarte besteht aus fünf Spalten mit jeweils fünf Feldern, wobei das mittlere Feld mit "KOSTENLOS" gekennzeichnet ist. Zahlen können nicht dupliziert werden.
Die fünf Spalten sind mit dem folgenden Zahlenbereich gefüllt:
- B: 1-15
- I: 16-30
- N: 31-45
- G: 46-60
- O: 61-75
Geben Sie in möglichst wenigen Zeichen eine Zeichenfolge aus, die als zufällige Bingokarte interpretiert werden kann. Zum Beispiel:
1,2,3,4,5,16,17,18,19,20,31,32,33,34,35,46,47,48,49,50,61,62,63,64,65
Dieses Beispiel ist nicht randomisiert, damit ich zeigen kann, dass Spalte 1 mit 1,2,3,4,5 gefüllt ist. Beachten Sie auch, dass der freie Speicherplatz keiner besonderen Behandlung unterzogen wurde, da das Front-End, das diese Zeichenfolge interpretiert, diese überspringt.
Ein anderes Beispiel wäre:
1,16,31,46,61,2,17,32,47,62 ...
In diesem Beispiel erfolgt die Ausgabe nach Zeilen und nicht nach Spalten.
Ein drittes Beispiel könnte sein:
01020304051617181920313233343546474849506162636465
Dies ist die gleiche Ausgabe wie im ersten Beispiel, außer in fester Länge.
Antworten:
PHP, 86
quelle
join
ist ein Alias fürìmplode
und Sie können die Zuordnung in die After-Schleife setzen. Dies wird Ihre Idee verkürzen auffor($o=[];25>$i=count($o);$o[$n]=$n)$n=rand(1,15)+($i-$i%5)*3;echo join(",",$o);
Ruby 1.9, 48 Zeichen
quelle
Windows PowerShell, 51
54Ich bin mir jedoch nicht sicher, ob ich Ihre Aufgabe richtig verstanden habe.
Beispielausgaben:
quelle
PHP 106
Ich bin mir nicht sicher, ob ich das Problem richtig verstanden habe ... Können Sie eine detailliertere Erklärung geben?
quelle
R,
6351504945 BytesVielen Dank an Billywob für die laufenden Vorschläge und die Förderung meiner Wettbewerbssträhne.
quelle
cat(sapply(list(15,16:30,31:45,46:60,61:75),sample,5))
Bearbeiten:cat
cat(sapply(split(1:75,ceiling(1:75/15)),sample,5))
. Teilt den Vektor1:75
in eine Liste auf, in der jedes Element ein Vektor der Länge ist,15
anstattlist()
Objekte zu übergebensapply
.labels = FALSE
Option dafür brauchencut
. Denn alles, was zählt, ist, dass sich5
wiederholende Faktoren an die Split-Funktion übergeben werden, unabhängig von den Namen.Clojure - 52 Zeichen
Beispielausgabe (beachten Sie, dass die separaten Zeilen als Unterlisten bereitgestellt werden):
quelle
Python 2, 84 Bytes
Wenn die Ausgabe als Liste, wenn Listen in Ordnung ist, gibt es eine 75-Byte- Lösung:
quelle