fork download
  1. public class Main {
  2. public static int randomChoice() {
  3. return 1 + ((int) (3 * Math.random()));
  4. }
  5.  
  6. public static void main(String args[]) {
  7. /* прогонов */
  8. final long N = 100000;
  9.  
  10. long nemenyalIugadal = 0;
  11. long nemenyalIneugadal = 0;
  12. long pomenyalIugadal = 0;
  13. long pomenyalIneugadal = 0;
  14.  
  15. for(int i = 0; i < N; ++i) {
  16. /* машина */
  17. int mashina = randomChoice();
  18.  
  19. /* игрок сделал выбор */
  20. int popitka = randomChoice();
  21.  
  22. if(popitka == mashina) {
  23. /* игрок указал на дверь с машиной */
  24.  
  25. /* ведущий открыл случайную дверь из оставшихся */
  26. int otkril;
  27. do {
  28. otkril = randomChoice();
  29. } while(otkril == mashina);
  30.  
  31. /* если игрок не поменял выбор */
  32. ++nemenyalIugadal;
  33.  
  34. /* если игрок поменял выбор (и не выбрал козу) */
  35. ++pomenyalIneugadal;
  36. } else {
  37. /* игрок указал на дверь без машиной */
  38.  
  39. /* ведущий открыл дверь (mashina != popitka, так что всё ок) */
  40. int otkril = (1 + 2 + 3) - mashina - popitka;
  41.  
  42. /* если игрок не поменял выбор */
  43. ++nemenyalIneugadal;
  44.  
  45. /* если игрок поменял выбор (и не выбрал козу) */
  46. ++pomenyalIugadal;
  47. }
  48. }
  49.  
  50. System.out.println("не менял и угадал: " + nemenyalIugadal + " не угадал: " + nemenyalIneugadal);
  51. System.out.println("поменял и угадал: " + pomenyalIugadal + " не угадал: " + pomenyalIneugadal);
  52. }
  53. }
Success #stdin #stdout 0.13s 54868KB
stdin
Standard input is empty
stdout
не менял и угадал: 33411 не угадал: 66589
поменял и  угадал: 66589 не угадал: 33411