Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Ziegenproblem {
- static boolean wechsel = false;
- public static int zufall() {
- // Die Zufallsfunktion soll die Zahlen von 0 bis 2 gleichverteilt zurckgegeben
- int z = (int) (Math.random() * 3000);
- if (z <= 1000) return 0;
- if (z <= 2000) return 1;
- if (z <= 3000) return 2;
- return 0;
- }
- public static long runTest(long intHaufigkeit) {
- int richtigesTor = 0;
- int ersteWahl = 0;
- int offenesTor = 0;
- int zweiteWahl = 0;
- int anzAutos = 0;
- for (int i=0; i <= intHaufigkeit; i++) {
- // Der Spielleiter stellt hinter eines der Tore ein Auto
- richtigesTor = zufall();
- // Der Spieler whlt eines der Tore aus
- ersteWahl = zufall();
- // Der Spielleiter ffnet ein Tor mit einer Ziege, nicht aber das was der Spieler gewhlt hat
- offenesTor = ersteWahl;
- for (int j=0; j < 3;j++) {
- if ((j!=ersteWahl) && (j!=richtigesTor)) offenesTor = j;
- }
- // Der Spielleiter bietet dem Spieler an nun noch einmal das Tor zu wechseln
- if (wechsel) {
- // Der Spieler entscheidet sich dafr
- zweiteWahl = ersteWahl;
- for (int j=0; j < 3;j++) {
- if ((j!=ersteWahl) && (j!=offenesTor)) zweiteWahl = j;
- }
- }
- else {
- // Der Spieler bleibt bei seiner Entscheidung
- zweiteWahl = ersteWahl;
- }
- // Auswertung
- if (zweiteWahl==richtigesTor) anzAutos++;
- }
- return anzAutos;
- }
- public static void main(String[] args) {
- wechsel = false;
- long ohneWechsel = runTest(100000);
- wechsel = true;
- long mitWechsel = runTest(100000);
- System.out.println("Hufigkeit ohne Wechsel:\t" + ohneWechsel);
- System.out.println("Hufigkeit mit Wechsel:\t" + mitWechsel);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement