Thật dễ dàng để tạo ra một đồng tiền công bằng bằng cách sử dụng một đồng tiền không công bằng, nhưng điều ngược lại khó thực hiện hơn.
Chương trình của bạn sẽ nhận được một số X (từ 0 đến 1, bao gồm) làm đầu vào. Đầu vào không chỉ đơn giản là được mã hóa cứng như một số ở giữa mã nguồn. Sau đó, nó phải trả về một chữ số duy nhất: a 1
với xác suất X và 0
ngược lại.
Chương trình của bạn chỉ được phép sử dụng một dạng trình tạo số ngẫu nhiên trong mã nguồn: int(rand(2))
(hoặc tương đương), trả về số 0 hoặc dạng có xác suất bằng nhau. Bạn có thể bao gồm hoặc truy cập chức năng này nhiều lần bạn muốn trong mã của mình. Bạn cũng phải tự cung cấp chức năng như một phần của mã.
Chương trình của bạn không được phép sử dụng bất kỳ hàm tạo số ngẫu nhiên nào khác hoặc các nguồn bên ngoài (như hàm thời gian và ngày) có thể hoạt động như một hàm tạo số ngẫu nhiên. Nó cũng không thể truy cập bất kỳ tập tin bên ngoài hoặc chuyển công việc cho các chương trình bên ngoài.
Đây là mã golf, câu trả lời ngắn nhất chiến thắng.