Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Prisao {
- public static void main(String[] args) {
- /*
- * Três prisioneiros, enumerados de 1 a 3. Por simplicidade dos
- * cálculos, e sem perda de generalidade, eu sou um dos presos, o de
- * número 1.
- */
- final boolean DEBUG = false;
- final int TOTAL_VEZES = 50000;
- int eu = 1;
- int vezes_eu_livre = 0;
- for (int t = 0; t < TOTAL_VEZES; t++) {
- // Inteiro aleatório entre 1 e 3:
- int escolhido_morte = (int) (Math.random() * 3) + 1;
- int solto_contado, solto_oculto;
- if (escolhido_morte == eu) {
- // Inteiro aleatório entre 2 e 3:
- solto_contado = (int) (Math.random() * 2) + 2;
- // Simples função linear: se f(x=3)=2 e f(x=2)=3 :
- solto_oculto = 5 - solto_contado;
- } else {
- // Simples função linear: se f(x=3)=2 e f(x=2)=3 :
- solto_contado = 5 - escolhido_morte;
- solto_oculto = eu;
- }
- if (DEBUG) {
- System.out.println("M:" + escolhido_morte + "\tC:"
- + solto_contado + "\tO:" + solto_oculto);
- // Os três valores testados no if devem ser todos distintos:
- if (solto_contado == solto_oculto
- || solto_contado == escolhido_morte
- || solto_oculto == escolhido_morte) {
- System.err.println("Erro nos cálculos!");
- System.exit(1);
- }
- }
- if (solto_oculto == eu) {
- vezes_eu_livre++;
- }
- }
- float chance_minha_liberdade = ((float) vezes_eu_livre * 100)
- / TOTAL_VEZES;
- System.out.println("Eu estou livre em " + chance_minha_liberdade
- + "% dos lançamentos!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement