C# :: Aufgabe #258 :: Lösung #4
7 Lösungen

#258
Stochastische Ermittlung der Eulerschen-Zahl
Anfänger - C#
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ß!
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ß!
#4

von suppengruen (200 Punkte)
- 12.06.2019 um 16:16 Uhr

using System; using System.Collections.Generic; namespace EulerscheZahl { class Program { static void Main(string[] args) { List<int> n = new List<int>(); Random rand = new Random(); int count = 0, mid = 0; double x = 0; float mitte = 0.0f, anzahl; Console.WriteLine("Gib an wie viele Schleifendurchläufe du machen willst..."); anzahl = float.Parse(Console.ReadLine()); for(int y = 0; y < anzahl; y++) { do { x = x + rand.NextDouble(); count++; } while (x < 1.0); n.Add(count); count = 0; x = 0; } n.ForEach(delegate (int zahl) { mid = mid + zahl; }); mitte = mid / anzahl; Console.WriteLine("Das Ergebnis ist: {0}",mitte); Console.ReadLine(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1