Wyzwanie
Jako dane wejściowe otrzymasz trzy liczby całkowite - min_value, max_value, sample_size
które możesz przekazać do odpowiedzi jako tablicę lub kilka parametrów.
Twoim zadaniem jest wydrukowanie diagramu w dowolnym dogodnym formacie , który pokazuje częstotliwość liczb w (min_value, max_value)
zakresie wyświetlanych po wybraniu liczby losowej w (min_value, max_value)
zakresie sample_size
. Sekwencja liczb losowych powinna zostać wygenerowana w odpowiedzi.
Przy dużych zakresach i rozmiarach próbek możesz dowolnie zmieniać kroki stosowane na diagramie, o ile reprezentacja pozostaje dokładna.
Przykład
Z [1, 5, 10]
jako dane wejściowe:
o o o x o
x o x x x
x x x x x
1 2 3 4 5
Przy [1, 100, 15]
wprowadzaniu (w krokach co 10, więc 00 pokazuje 1-9, 10 pokazuje 10-19 itd.):
xx oo oo xx oo xx oo oo oo oo
xx oo oo xx oo xx xx oo oo oo
xx xx oo xx xx xx xx xx xx oo
00 10 20 30 40 50 60 70 80 90
Punktacja
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.
[1,5,10]
przykład, czy wysokość może być10
? Więc kolumna 4 wyglądałby następująco (w pionie góry do dołu, zamiast poziomo od lewej do prawej):oooooooxxx4
.b-a
? To całkiem wygodny format ...a...b
schemat ma jeden pojemnik pokrywający cały zakres, w wyniku czego powstaje pojedynczy słupek o wysokości równej liczbie próbek.Odpowiedzi:
Galaretka , 13 bajtów
Używa bardzo wygodnego formatu:
0
jako piksele dystrybucji (jakx
s) i1
jako piksele tła (jako
s)Wypróbuj online!
Uwaga: Gdyby dane wejściowe nie musiały być tablicą, byłoby to 11 bajtów, biorąc dwa argumenty
[from, to]
i zasampleSize
pomocą justr/;"xẊĠ>ʋ¥G
.Myślę, że może to być nieco zbyt wygodne dla formatowania 4 bajtów:
Ṗ;1K
Wykorzystuje to pomysł (do którego należy się odnieść) wysunięty przez Giuseppe w komentarzach z pojedynczym pojemnikiem oznaczonym spacją
from
ito
oddzielonym spacją, inną spacją reprezentującą oś oraz pojedynczą spacją reprezentującą1
wysokość 100%.... a nawet tylko
Ṗ1
na 2 bajty!źródło
Oktawa ,
3432 bajtyNie działa na TIO, ale działa na Octave-online.net .
Tworzy histogram (wykres słupkowy) wyglądający tak:
Powiedziałbym, że liczy się to jako „Dowolny wygodny format”.
Jeśli muszą być pokazane niezerowe pojemniki , można to rozwiązać w 38 bajtach:
źródło
f(1,5,1)
pokazałoby to na przykład zachowanie).R , 36 bajtów
Wypróbuj online!
Westchnienie. Wykres wątku.
Zmora egzystencji dla studentów drugiego roku biorących wstęp do statystyki dla [This Specific Area of Study] od profesora, który nie wie o czym mówią, ale nadal myślą, że wątki tematyczne są dobrym pomysłem, ponieważ wciąż jest w 14 edycji podręcznika, którego używali od czasu wydania 4. wydania w 1983 r.
źródło
Węgiel , 25 bajtów
Wypróbuj online! Wyjaśnienie:
Utwórz obejmujący zakres dystrybucji.
Próbkuj zakres żądaną liczbę razy.
Policz i wydrukuj numer każdego zakresu w próbce.
Wydrukuj etykiety.
źródło
Python 2 , 115 bajtów
Wypróbuj online!
Python 2 , 164 bajty
wyjście oparte na kolumnie.
Wypróbuj online!
źródło
Java 11,
184168 bajtówWypróbuj online. (UWAGA:
String.repeat(int)
jest emulowany jakrepeat(String,int)
dla tej samej liczby bajtów, ponieważ Java 11 nie jest jeszcze w TIO).Wyjaśnienie:
źródło
R , 52 bajty
Wypróbuj online!
Zwraca
table
częstotliwości znames
równym interwałach półotwartych wybranych przezcut
tak(0,1]
,(1,2]
,(2,3]
i tak dalej. Nie stara się wybierać bardziej rozsądnego podziału na grupy.źródło
function(a,b,n)hist(sample(a:b,n,T))
spełniałby wymagań pytania?Rubinowy,
135 bajtów, 117 bajtówNie golfowany:
źródło
Perl 5 , 85 bajtów
Wypróbuj online!
Produkuje podobny wynik do @Neil „s Węgiel odpowiedź .
źródło
JavaScript, 239
Przykro mi z tego powodu, ale zmienne zostały właśnie nazwane willy-nilly. W każdym razie pytanie brzmiało jakikolwiek dogodny format , więc ta funkcja zwraca wykres boczny
źródło
Japt
-R
, 14 bajtówPobiera dane wejściowe w kolejności max, min, size. Wysyła wykres w poziomie.
Spróbuj
Wyjaśnienie
źródło
Pyth, 19 bajtów
Wypróbuj tutaj
Wyjaśnienie
źródło