Advertisement
Guest User

Untitled

a guest
May 27th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.52 KB | None | 0 0
  1. public class Prisao {
  2.  
  3.     public static void main(String[] args) {
  4.         /*
  5.          * Três prisioneiros, enumerados de 1 a 3. Por simplicidade dos
  6.          * cálculos, e sem perda de generalidade, eu sou um dos presos, o de
  7.          * número 1.
  8.          */
  9.  
  10.         final boolean DEBUG = false;
  11.         final int TOTAL_VEZES = 50000;
  12.         int eu = 1;
  13.         int vezes_eu_livre = 0;
  14.  
  15.         for (int t = 0; t < TOTAL_VEZES; t++) {
  16.             // Inteiro aleatório entre 1 e 3:
  17.             int escolhido_morte = (int) (Math.random() * 3) + 1;
  18.             int solto_contado, solto_oculto;
  19.             if (escolhido_morte == eu) {
  20.                 // Inteiro aleatório entre 2 e 3:
  21.                 solto_contado = (int) (Math.random() * 2) + 2;
  22.  
  23.                 // Simples função linear: se f(x=3)=2 e f(x=2)=3 :
  24.                 solto_oculto = 5 - solto_contado;
  25.             } else {
  26.                 // Simples função linear: se f(x=3)=2 e f(x=2)=3 :
  27.                 solto_contado = 5 - escolhido_morte;
  28.                 solto_oculto = eu;
  29.             }
  30.  
  31.             if (DEBUG) {
  32.                 System.out.println("M:" + escolhido_morte + "\tC:"
  33.                         + solto_contado + "\tO:" + solto_oculto);
  34.  
  35.                 // Os três valores testados no if devem ser todos distintos:
  36.                 if (solto_contado == solto_oculto
  37.                         || solto_contado == escolhido_morte
  38.                         || solto_oculto == escolhido_morte) {
  39.                     System.err.println("Erro nos cálculos!");
  40.                     System.exit(1);
  41.                 }
  42.             }
  43.  
  44.             if (solto_oculto == eu) {
  45.                 vezes_eu_livre++;
  46.             }
  47.         }
  48.         float chance_minha_liberdade = ((float) vezes_eu_livre * 100)
  49.                 / TOTAL_VEZES;
  50.         System.out.println("Eu estou livre em " + chance_minha_liberdade
  51.                 + "% dos lançamentos!");
  52.  
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement