Java :: Aufgabe #238

2 Lösungen Lösungen öffentlich

Stochastische Ermittlung der Eulerschen-Zahl

Anfänger - Java von hollst - 12.04.2019 um 09:37 Uhr
Wir betrachten folgendes Zufallsexperiment: Aus einer Menge reeller und gleichverteilter Zahlen {X} mit 0 <= x < 1.0
ziehen wir solange Zahlen x1, x2 ... xn bis deren Summe >= 1.0 ist. n ist dann das Ergebnis eines Zufallsexperimentes.
Wir müssen mindestens zweimal ziehen, den ein einzelnes Zufalls-x ist ja immer kleiner als 1.0.

Die Frage lautet: Wie groß ist n im Mittel?

Hinweis: Laut Theorie ist n = 2.718281828459045... (= e). Nun gut, grau ist alle Theorie, wir wollen sehen, ob der Computer
(in etwa) der gleichen Meinung ist.

Viel Spaß!

Lösungen:

vote_ok
von Kotgreifer (1100 Punkte) - 18.06.2019 um 10:00 Uhr
Quellcode ausblenden Java-Code
public static void main(String[] args) {
		double glob_counter=0.0;
		java.util.Random rnd= new java.util.Random();
		
		for (int i = 0; i < 1000000; i++) {
			double tmp= 0.0;
			int counter= 0;
			while (tmp<1.0) {
				tmp+=rnd.nextDouble();
				counter++;
			}
			glob_counter+=counter;
		}
		double erg= glob_counter/1000000;
		System.out.println(erg);

	}
vote_ok
von Fre011 (230 Punkte) - 27.08.2019 um 15:58 Uhr
Quellcode ausblenden Java-Code

public class Euler {

	public static void main(String[] args) {
		
		double average = 0;
		
		for (int a = 1; a <= 100000000; a++) {
			byte n = 0;
			for (double i = 0; i <= 1;) {
				i += Math.random();
				n++;
			}
			average = (average * a + n) / (a+1);
		}
		
		System.out.println(average);
		
	}

}