Зробити справедливу монету легко, використовуючи несправедливу монету, але реверс важче здійснити.
Ваша програма отримає одне число X (від 0 до 1 включно) як вхід. Введення не повинно просто бути жорстко закодованим як число посередині вихідного коду. Потім він повинен повернути одну цифру: a 1
з ймовірністю X та 0
іншим чином.
Вашій програмі дозволено використовувати лише один вид генератора випадкових чисел у вихідному коді: int(rand(2))
(або еквівалент), який повертає або нуль, або одиницю з однаковою ймовірністю. Ви можете включити цю функцію або отримати доступ до неї стільки разів, скільки бажаєте у своєму коді. Ви також повинні забезпечити функцію самостійно як частину коду.
Вашій програмі заборонено використовувати інші функції генерування випадкових чисел або зовнішні джерела (наприклад, функції часу та дати), які можуть функціонувати як функції генерування випадкових чисел. Він також не може отримати доступ до будь-яких зовнішніх файлів або передавати завдання разом із зовнішніми програмами.
Це кодовий гольф, найкоротша відповідь виграє.