C :: Aufgabe #225

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 heberle (60 Punkte) - 01.03.2020 um 12:28 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ROUNDS 1000

int main(void)
{
        int n, i;
        double sum, e = 0;
        srand(time(NULL));
        for (i = 0; i < ROUNDS; ++i) {
                n = 1;
                sum = ((double) rand()) / RAND_MAX;
                while (sum < 1.0) {
                        sum += ((double) rand()) / RAND_MAX;
                        ++n;
                }
                e += n;
        }
        e /= ROUNDS;
        printf("EULERSCHE ZAHL duch %i Wiederholungen berechnet: %f\n", ROUNDS, e);
        return 0;
}
1809752

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.