Karta Bingo składa się z pięciu kolumn po pięć kwadratów każda, a środkowy kwadrat oznaczony jest jako „DARMOWY”. Liczby nie mogą się powielać.
Pięć kolumn jest wypełnionych następującym zakresem liczb:
- B: 1-15
- I: 16–30
- N: 31–45
- G: 46–60
- O: 61–75
W jak najmniejszej liczbie znaków wypisz ciąg znaków, który można interpretować jako losową kartę Bingo. Na przykład:
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
Ten przykład nie jest losowy, więc mogę pokazać, że kolumna 1 jest wypełniona 1,2,3,4,5. Zauważ też, że wolne miejsce nie zostało specjalnie potraktowane, ponieważ interfejs, który interpretuje ten ciąg, pominie go.
Innym przykładem może być:
1,16,31,46,61,2,17,32,47,62 ...
W tym przykładzie dane wyjściowe są według wiersza zamiast według kolumny.
Trzecim przykładem może być:
01020304051617181920313233343546474849506162636465
Jest to ten sam wynik jak w pierwszym przykładzie, z wyjątkiem stałej długości.
Odpowiedzi:
PHP, 86
źródło
join
jest aliasem dlaìmplode
i możesz umieścić przypisanie w pętli końcowej.for($o=[];25>$i=count($o);$o[$n]=$n)$n=rand(1,15)+($i-$i%5)*3;echo join(",",$o);
Ruby 1.9, 48 znaków
źródło
Windows PowerShell, 51
54Nie jestem jednak pewien, czy poprawnie zrozumiałem twoje zadanie.
Przykładowe wyniki:
źródło
PHP 106
Nie jestem pewien, czy poprawnie zrozumiałem problem ... Czy możesz podać bardziej szczegółowe wyjaśnienie?
źródło
R,
6351504945 bajtówDzięki Billywob za bieżące sugestie i zachęcanie do mojej rywalizacji.
źródło
cat(sapply(list(15,16:30,31:45,46:60,61:75),sample,5))
Edycja: niecat
cat(sapply(split(1:75,ceiling(1:75/15)),sample,5))
. Działa poprzez podzielenie wektora1:75
na listę, w której każdy element jest wektorem długości15
zamiast używanialist()
do przekazywania obiektówsapply
.labels = FALSE
opcjicut
. Ponieważ wszystko, co się liczy, to5
powtarzające się czynniki przekazywane do funkcji podziału, niezależnie od nazw.Clojure - 52 znaki
Przykładowe dane wyjściowe (należy pamiętać, że zawiera osobne wiersze jako listy podrzędne):
źródło
Python 2, 84 bajtów
Jeśli dane wyjściowe jako lista, jeśli listy są w porządku, istnieje rozwiązanie 75 bajtów :
źródło