Легко сгенерировать честную монету, используя недобросовестную монету, но обратное сделать сложнее.
Ваша программа получит одно число X (от 0 до 1 включительно) в качестве входных данных. Ввод не должен быть просто жестко закодирован как число в середине исходного кода. Затем он должен вернуть одну цифру: a 1
с вероятностью X, а в 0
противном случае.
Ваша программа может использовать только одну форму генератора случайных чисел в исходном коде: int(rand(2))
(или эквивалент), который возвращает либо ноль, либо единицу с равной вероятностью. Вы можете включить или получить доступ к этой функции столько раз, сколько пожелаете в своем коде. Вы также должны предоставить функцию самостоятельно как часть кода.
Ваша программа не имеет права использовать какие-либо другие функции генерации случайных чисел или внешние источники (такие как функции времени и даты), которые могут функционировать в качестве функции генерации случайных чисел. Он также не может получить доступ к каким-либо внешним файлам или передать работу внешним программам.
Это код гольф, самый короткий ответ выигрывает.