Sangat mudah untuk menghasilkan koin yang adil menggunakan koin yang tidak adil, tetapi sebaliknya lebih sulit untuk dicapai.
Program Anda akan menerima satu angka X (antara 0 dan 1, inklusif) sebagai input. Input tidak boleh hanya berupa hard-kode sebagai angka di tengah kode sumber. Kemudian harus mengembalikan satu digit: a 1
dengan probabilitas X dan 0
sebaliknya.
Program Anda hanya diperbolehkan menggunakan satu bentuk generator angka acak dalam kode sumber: int(rand(2))
(atau yang setara), yang mengembalikan nol atau yang memiliki probabilitas yang sama. Anda dapat memasukkan atau mengakses fungsi ini sebanyak yang Anda inginkan dalam kode Anda. Anda juga harus menyediakan fungsi sendiri sebagai bagian dari kode.
Program Anda tidak diperbolehkan menggunakan fungsi penghasil nomor acak atau sumber eksternal lainnya (seperti fungsi waktu dan tanggal) yang dapat berfungsi sebagai fungsi penghasil nomor acak. Itu juga tidak dapat mengakses file eksternal atau meneruskan pekerjaan ke program eksternal.
Ini kode golf, jawaban terpendek menang.