Fehler in Stochastik-Aufgabe?
Hallo, liebe Community!
Ich wollte für Mathe üben und bin dabei im Schulbuch auf die folgende Aufgabe gestoßen:
Mir geht es jetzt hier nur um die e).
Mein erster Ansatz war: 6x1x1x1x1x1x5x4x3x2xy (die ersten 6 Faktoren für die Zahl, die sechsmal vorkommt, die anderen 4 für die 4 unterschiedlichen Zahlen), wobei y dann die Anzahl der verschiedenen Anordnungsmöglichkeiten dieser Ergebnisse wäre, welche ich mir erst noch überlegen müsste. Das wäre dann auch meine erste Frage: Gibt es eine Möglichkeit, diese Anzahl irgendwie zu berechnen, um nicht ewig lang alle verschiedenen Möglichkeiten durchzugehen und zu zählen (das müssten ja echt viele sein!)?
Da ich mir unsicher war, habe ich in der Lösung nachgeschaut und Folgendes gefunden:
Kann das stimmen? Mir leuchtet der Ansatz irgendwie nicht ein. Besonders das mit 10x9x8x... im Zähler des Bruchs. Für mich ergibt das keinen Sinn, da es beim Würfeln ja nicht 10 verschiedene Ergebnisse gibt.
Vielen Dank schonmal für eure Hilfe!
2 Antworten
![](https://images.gutefrage.net/media/user/LUKEars/1688884434588_nmmslarge__286_19_475_475_15d0473a58ff40db30b377787d357510.jpg?v=1688884435000)
also dieser Bruch ist auch bekannt als „10 über 4“ (das ist die Anzahl der Möglichkeiten aus 10 paarweise verschiedenen Dingen 4 Stück ohne Zurücklegen auszuwählen, wobei die Reihenfolge unbeachtet bleibt):
es ist also die Anzahl der Möglichkeiten, die 4 Ziehungen der Einmal-Vorkommenden anzuordnen... für die übrigen 6 gleichen Ziehungen hast du dann nur noch eine Möglichkeit zur Anordnung...
ich mag gern Monte Carlo Simulation (die Musterlösung stimmt)...
> c++ -o a a.c -O3 && dd if=/dev/urandom bs=4 count=1|./a
1+0 records in
1+0 records out
4 bytes copied, 5.9521e-05 s, 67.2 kB/s
Muster: 151200/60466176 = 0.002501
> cat a.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <inttypes.h>
uint32_t C = 0;
uint32_t dc = 0;
uint8_t W[10];
void A(const uint8_t lvl) {
if (lvl==10) {
C++;
for (uint8_t l=0; l<10; l++) {
uint8_t cnt=0; for (uint8_t c=0; c<10 && cnt<=6; c++) if (W[l]==W[c]) cnt++;
if (cnt!=6 && cnt!=1) return;
}
dc++;
} else for (uint8_t w=0; w<6; w++) { W[lvl]=w; A(lvl+1); }
}
int main() {
A(0);
printf("Muster: %u/%u = %.6f\n",dc,C,dc/(double)C);
return 0;
}
![](https://images.gutefrage.net/media/user/LUKEars/1688884434588_nmmslarge__286_19_475_475_15d0473a58ff40db30b377787d357510.jpg?v=1688884435000)
![](https://images.gutefrage.net/media/user/LUKEars/1688884434588_nmmslarge__286_19_475_475_15d0473a58ff40db30b377787d357510.jpg?v=1688884435000)
![](https://images.gutefrage.net/media/user/eterneladam/1673990853932_nmmslarge__0_0_3023_3024_b3ab443b0f60481e81ea92643ef07370.jpg?v=1673990854000)
Ich wäre wohl nicht selber drauf gekommen, kann es aber versuchen zu erklären:
Man hat für die 6 gleichen Augenzahlen zunächst 6 zu Auswahl, dann hat man
(10 über 6) = 10 * 9 * 8 * 7 * 6 * 5 / 6! Möglichkeiten auf welcher Position in den 10 Würfen die 6 gleichen landen,
dann hat man für die 4 freien Positionen noch 5 * 4 * 3 * 2 Möglichkeiten für andere Augenzahlen.
Vielen Dank! Das macht Sinn! So wie's aussieht, geht das schon so in Richtung Binomialkoeffizient. Das lernen wir erst nächstes Jahr, da war unser Schulbuch wohl etwas voreilig!