Il est facile de générer une pièce juste à l'aide d'une pièce injuste, mais l'inverse est plus difficile à réaliser.
Votre programme recevra un numéro X (entre 0 et 1, inclus) en entrée. L'entrée ne doit pas simplement être codée en dur sous forme de nombre au milieu du code source. Il doit alors renvoyer un seul chiffre: a 1avec une probabilité de X et a 0sinon.
Votre programme n'est autorisé à utiliser qu'une seule forme de générateur de nombres aléatoires dans le code source: int(rand(2))(ou un équivalent), qui renvoie un zéro ou un avec une probabilité égale. Vous pouvez inclure ou accéder à cette fonction autant de fois que vous le souhaitez dans votre code. Vous devez également fournir la fonction vous-même dans le cadre du code.
Votre programme n'est pas autorisé à utiliser d'autres fonctions de génération de nombres aléatoires ou des sources externes (telles que les fonctions d'heure et de date) qui pourraient fonctionner comme une fonction de génération de nombres aléatoires. Il ne peut pas non plus accéder à des fichiers externes ni transmettre le travail à des programmes externes.
C'est le golf de code, la réponse la plus courte l'emporte.
