Twoim zadaniem jest stworzenie programu, który doda losowe liczby do poprzednich kwot w ostatecznym pokazie wyścigów liczbowych.
Każdy zawodnik (kolumna) zaczyna się od 0 i dodaje 1 lub 0 do poprzedniej sumy na każdym etapie wyścigu, aż wszyscy zawodnicy osiągną wynik wymagany do wygranej. Wartość 1 lub 0 należy wybierać losowo ( tutaj można znaleźć standardową definicję losowości ). Dane wyjściowe pokażą wynik wyścigu, przy czym każda kolumna reprezentuje jednego zawodnika, w tym formacie:
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
Uwaga: tylko liczby, + i = muszą być uwzględnione w danych wyjściowych.
Wejście
Twój program zaakceptuje następujące dwa parametry jako dane wejściowe:
- liczba kierowców (kolumn), która musi być większa niż dwóch
- wynik wymagany do wygranej, który musi być większy niż jeden
To jest golf golfowy - wygrywa program z najmniejszą liczbą bajtów.
Edycja: nie można wyegzekwować maksymalnego wyniku wynoszącego 9 - ma to na celu zachowanie integralności kolumny. Ponadto w wynikach można pominąć spacje między kolumnami.
Odpowiedzi:
Galaretka,
373633 bajtów3 bajty dzięki Dennisowi.
Wypróbuj online
Wyjaśnienie
źródło
,‘X
(sparuj z przyrostem n , wybór losowy). W głównym linkuṫ2
można zastąpićḊ
(dequeue) i”
zmienną⁶
.Pyth ,
3834 bajtówWypróbuj online!
źródło
TSQL,
367345341 bajtówGrał w golfa
Wypróbuj online
Nie golfowany:
Pamiętaj, że losowe ziarno na stronie testowej zawsze będzie takie samo, za każdym razem dając ten sam wynik, w zarządzaniu studiem da inne wyniki. Może użyć różnych wartości dla zawodników i celu, aby uzyskać inny obraz
źródło
Python 3, 237 bajtów
Funkcja, która pobiera dane wejściowe poprzez argument i wypisuje do STDOUT. Podejście to wykorzystuje fakt, że dane wyjściowe następują po cyklu czwartym, w postaci „+ wartość = wartość”, dla wszystkich zawodników. Korzystając z licznika modulo cztery, można indeksować listę zawierającą pożądaną wartość dla każdego kroku jako łańcucha, a wynik oceniać za pomocą funkcji evalu Pythona.
Jak to działa
Wypróbuj na Ideone
źródło
Python 2 , 191 bajtów
Wypróbuj online!
Python 3 , 200 bajtów
Wypróbuj online!
źródło
Python 2, 278 bajtów
gdzie r jest nie. zawodników, a w jest wynikiem do wygrania
Wypróbuj tutaj!
źródło
Perl 5 , 150 bajtów
Wypróbuj online!
Pierwszy wkład to liczba zawodników, drugi to wynik.
źródło