Scheiß Wahrscheinlichkeitsrechung geht gegen jede Intuition.
Anz. Leute WK für Gebtag am selben Tag 25 56% 24 53% 23 50% 22 47% 21 44%
Hier noch ein nettes Bildchen...
Und mein Programm:
template< typename T >
std::ostream& operator<< (std::ostream& o, vector< T > const& vec)
{
for(size_t i = 0; i< vec.size(); i++)
o << vec.at(i) << " ";
return o;
}
// gebrustagstest
// 50WK dass 25? leute am gleichen tag geb. haben
int main() {
int anzLeute = 61;
vector geburstage(anzLeute);
int anzDoppelte = 0;
int anzIterationen = 1e7;
srand(time(0));
cout << "Iterationen: " << anzIterationen << "\n";
for(int leute = 50; leute < anzLeute; leute++) {
geburstage.resize(leute);
anzDoppelte = 0;
// cout << "WK fuer " << anzLeute << " Leute, dass sie am selben Tag Geburstag haben: ";
for(int iterationen = 0; iterationen < anzIterationen; iterationen++) {
// zufallsgeburstage holen
for(int i = 0; i < leute; i++)
geburstage[i] = rand() % 365 + 1;
// sind doppelte vorhanden?
sort(geburstage.begin(), geburstage.end());
vector< int >::iterator it = adjacent_find (geburstage.begin(), geburstage.end());
if (it!=geburstage.end()) {
anzDoppelte++;
}
}
cout << leute << " " << 100. * anzDoppelte / anzIterationen << "\n";
}
return 0;
}
Was war denn deine Intuition?
Comment by Chase — 18.04.2012 @ 20:04
Unter 10% etwa
Comment by Thomas — 07.07.2012 @ 14:07