Ziegenproblem 23.12.2015public class MontyHallProblem { public static void main(String[] args) { int max = 100000; int cntHitPlayer1 = 0; int cntHitPlayer2 = 0; for(int i = 0; i < max; i++) { int selPlayer1 = (int)(Math.random()*3); int selPlayer2 = (int)(Math.random()*3); int posCar = (int)(Math.random()*3); // selPlayer1 = pickOtherDoor(selPlayer1, posCar); selPlayer2 = pickOtherDoor(selPlayer2, posCar); if(posCar == selPlayer1) cntHitPlayer1++; if(posCar == selPlayer2) cntHitPlayer2++; } System.out.println("hit/max = "+100*cntHitPlayer1/max+"%"); // --> 33% System.out.println("hit/max = "+100*cntHitPlayer2/max+"%"); // --> 66% } static int pickOtherDoor(int selPlayer, int posCar) { // scenario 1: players choice is goat, host picks goat, player wins car if( selPlayer != posCar ) return posCar; // scenario 2: players choice is car, host picks goat, player picks other goat return (selPlayer ^ 1) & 1; // 0->1, 1->0, 2->1 } }