Es fácil generar una moneda justa usando una moneda injusta, pero lo contrario es más difícil de lograr.
Su programa recibirá un número X (entre 0 y 1, inclusive) como entrada. La entrada no debe estar simplemente codificada como un número en el medio del código fuente. Luego debe devolver un solo dígito: a 1
con una probabilidad de X y a lo 0
contrario.
Su programa solo puede usar una forma de generador de números aleatorios en el código fuente: int(rand(2))
(o un equivalente), que devuelve un cero o uno con la misma probabilidad. Puede incluir o acceder a esta función tantas veces como desee en su código. También debe proporcionar la función usted mismo como parte del código.
Su programa no puede usar ninguna otra función generadora de números aleatorios o fuentes externas (como las funciones de fecha y hora) que puedan funcionar como una función generadora de números aleatorios. Tampoco puede acceder a ningún archivo externo ni pasar el trabajo a programas externos.
Este es el código de golf, gana la respuesta más corta.