Problem
Zaczynając od n=2
kości:
- Rzuć
n
kośćmi, przy czym każda liczba od 1 do 6 jest równie prawdopodobna na każdej kości. - Sprawdź, czy ich suma jest równa najbardziej prawdopodobnej sumie
n
kości3.5*n
.- Jeśli są równe, zakończ.
- W przeciwnym razie wydrukuj
n
i powtórz od początku zn+2
kostkami
Twój kod nie musi dokładnie wykonywać tej procedury, ale powinien dać losowy wynik probabilistycznie równoważny, w oparciu o naszą definicję losowości .
Twój program powinien wypisać wszystkie liczby we własnej linii; na przykład, jeśli program uzyskał do 8 kości i rzucił najbardziej prawdopodobną liczbę za pomocą 8 kości, wynik byłby następujący:
2
4
6
Przykładowy bieg
Na 2 kościach 7
jest najbardziej prawdopodobna suma. Powiedzmy, że wyrzucono liczby 2
i 3
. Następnie wydrukowałbyś 2
.
Na 4 kościach 14
jest najbardziej prawdopodobna suma. Powiedzmy, że numery były walcowane 3
, 4
, 2
, i 5
. Zatem suma jest 14
, więc program zakończyłby się tutaj.
Ostateczne wyjście w tym przypadku to "2"
.
Zasady
- golf-code, więc najkrótsze rozwiązanie w bajtach wygrywa
- Obowiązują standardowe luki
- Definicja meta losowości dotyczy
- Możesz korzystać zarówno z funkcji, jak i programów
2, 4, 6, 8, ...
każdym razem wyrzucać tyle kości, aż trafię w najbardziej prawdopodobną liczbę dla tej iteracji?