N Kugeln werden zufällig auf k Behälter verteilt. Wie viele Kugeln befinden sich danach durchschnittlich im Behälter mit den meisten Kugeln?
Wie ist diese Aufgabe in einem Java Programm zu lösen?
2 Antworten
Den Code musst du schon selber schreiben, aber den Algorithmus würde ich wie folgt skizzieren:
X = 0
Wiederhole "sehr oft" (z.B. M = 10'000 mal)
{
Wiederhole N mal
{
Erzeuge eine Zufallszahl i aus der Menge { 1 .... k } und lege diese in einem mit 1 ... k indizierten Feld Z ab, d.h. Z[i] = Z[i] + 1.
}
Suche das i, wo Z den grössten Wert hat
X = X + i
}
X/M ist das gesuchte Ergebnis
Du könntest ein programm schreiben dass dieses experiment mit verschiedenen werten von N und K ausprobiert.
Aber, eine mathematische lösung wäre das natürlich nicht, sondern nur eine vermutung.
Naja, für die aufgabe würde es ja reichen eine liste von N ints zu erstellen von denen dann K mal zufällig einer um 1 erhöht wird.
Ja und? Ist ja kein problem. Muss das eben parametrisiert sein.
Okay und wie lautet dann der Code bzw. wie macht man das?
Du musst ja auch nicht helfen du hast dich freiwillig gemeldet Kollege!
Ich habe dir ja auch geholfen, ich schreibe dir nur kein ganzes programm.
Musst auch schon was selbst machen.
Ja dann solltest du lernen wie man in java programmiert
Die standford uni hat nen kostenlosen kurs https://see.stanford.edu/Course/CS106A
Oder du schnappst dir nen buch.
Gibt viele optionen.
Da hab ich Besseres zu tun aber danke für deine Antworten.
Joa, ich habe auch besseres zu tun als hier ganze programme zu schreiben.
Ja da bin ich dabei, aber wie muss der Code aussehen?