#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int cont[366], i, n, casi_ok=0, ripetizioni;
// Impostazione del seme
srand(time(NULL));
// Ripete l'intero procedimento per 10000 volte
for (ripetizioni=0; ripetizioni<10000; ripetizioni++){
// Azzera i conteggi
for (i=1; i<=365; i++) // cont[0] non è utilizzato
cont[i]=0;
// Genera 25 numeri compresi in [1; 365]
for (i=0; i<25; i++){
n=rand()%365 + 1; // 365 numeri a partire da 1
cont[n]++; // aggiorno il conteggio di n
}
// Verifica se sono stati generati almeno 2 numeri uguali
for (i=1; i<=365; i++)
if (cont[i]>=2){
casi_ok++; // incrementa i casi favorevoli
break;
}
}
printf("Si sono presentati %d casi favorevoli e %d casi sfavorevoli", casi_ok, 10000-casi_ok);
return 0;
}
Torna agli esercizi: Esercizi