È facile generare una moneta giusta usando una moneta ingiusta, ma il contrario è più difficile da realizzare.
Il tuo programma riceverà un numero X (tra 0 e 1, incluso) come input. L'input non deve essere semplicemente codificato come un numero nel mezzo del codice sorgente. Deve quindi restituire una singola cifra: a 1con una probabilità di X e a 0altrimenti.
Il tuo programma è autorizzato a utilizzare solo una forma di generatore di numeri casuali nel codice sorgente: int(rand(2))(o un equivalente), che restituisce uno zero o uno con uguale probabilità. Puoi includere o accedere a questa funzione tutte le volte che vuoi nel tuo codice. Devi anche fornire tu stesso la funzione come parte del codice.
Al tuo programma non è consentito utilizzare altre funzioni di generazione di numeri casuali o fonti esterne (come le funzioni di ora e data) che potrebbero funzionare come una funzione di generazione di numeri casuali. Inoltre, non può accedere a nessun file esterno o passare il lavoro a programmi esterni.
Questo è il codice golf, vince la risposta più breve.
