Łatwo jest wygenerować uczciwą monetę za pomocą nieuczciwej monety, ale trudniej jest uzyskać odwrotność.
Twój program otrzyma jedną liczbę X (od 0 do 1 włącznie) jako dane wejściowe. Dane wejściowe nie mogą być po prostu zakodowane na stałe jako liczba w środku kodu źródłowego. Następnie musi zwrócić jedną cyfrę: a 1z prawdopodobieństwem X, a 0inaczej.
Twój program może używać tylko jednej formy generatora liczb losowych w kodzie źródłowym: int(rand(2))(lub odpowiednika), która zwraca zero lub jeden z jednakowym prawdopodobieństwem. Możesz włączyć lub uzyskać dostęp do tej funkcji tyle razy, ile chcesz w swoim kodzie. Musisz również podać tę funkcję samodzielnie jako część kodu.
Twój program nie może używać żadnych innych funkcji generujących liczby losowe ani źródeł zewnętrznych (takich jak funkcje godziny i daty), które mogłyby działać jako funkcja generowania liczb losowych. Nie może również uzyskać dostępu do żadnych plików zewnętrznych ani przekazać zadania programom zewnętrznym.
To jest golf golfowy, wygrywa najkrótsza odpowiedź.
