C++ :: Aufgabe #235

1 Lösung Lösung öffentlich

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ß!

Lösungen:

vote_ok
von cherusker (120 Punkte) - 26.12.2019 um 17:46 Uhr
Quellcode ausblenden C-Code
#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

    int versuche = 10000;
    int i;
    double mittel;

int ziehung(void)
{
    double summe;
    double ergebnis;

    ergebnis = 0;
    summe = 0;

    while (summe < 1){
        ergebnis = ergebnis +1;
        summe = summe + (double(rand()) / double(RAND_MAX));
    }
return ergebnis;
}


int main()
{
    srand((double)time(NULL));


    for (i=1;i<=versuche; i++){
                mittel = (mittel + ziehung());
        cout << fixed << setprecision(1)<< i << "   " << mittel <<endl;
    }
     /* cout << fixed << setprecision((log10(versuche)+1)) << endl << "   " << (mittel/versuche) << endl; */
    cout << "e= 2.718281828459045" << endl;
return 0;
}
1810390

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.