El jugador elige un numero y en cada ciclo se sortean otro Numero si el numero es igual al del jugador este GANA.
Se realizan 2 Tipos de Sorteos:
- Uno donde el jugador conserva el MISMO numero todas las simulaciones.
- El otro donde el jugador CAMBIA el numero en cada simulación
Salida Obtenida en 4 ejecuciones:
Código:
Total de veces ganador CON cambio de Variable 30636/(300000000 Sorteos)
Total de veces ganador SIN cambio de Variable 27675/(300000000 Sorteos)
Total de veces ganador CON cambio de Variable 30396/(300000000 Sorteos)
Total de veces ganador SIN cambio de Variable 36592/(300000000 Sorteos)
Total de veces ganador CON cambio de Variable 30700/(300000000 Sorteos)
Total de veces ganador SIN cambio de Variable 36890/(300000000 Sorteos)
Total de veces ganador CON cambio de Variable 30635/(300000000 Sorteos)
Total de veces ganador SIN cambio de Variable 27460/(300000000 Sorteos)
Si Observamos en total son 300 Millones de simulaciones 2 veces en cada ejecución, si vemos el "promedio" se mantiene mas o menos constante cuando SI CAMBIA la variable.
y el "promedio" se varia entre ejecuciones cuando NO CAMBIA la variable.
Código
#include<stdio.h> #include<stdlib.h> #include<time.h> #define MUESTRAS 30 #define SIMULACIONES 10000000 #define MAX 60000 int main() { register int i = 0,j = 0; int elegido,premio, contador = 0; //Sorteos con cambio de Variable j = 0; while(j < MUESTRAS){ i = 0; while(i < SIMULACIONES) { if(elegido == premio) { contador++; } i++; } j++; } printf("Total de veces ganador CON cambio de Variable %i/(%i Sorteos)\n",contador,MUESTRAS*SIMULACIONES); //Sorteos SIN cambio de Variable j = 0; contador = 0; while(j < MUESTRAS){ i = 0; while(i < SIMULACIONES) { if(elegido == premio) { contador++; } i++; } j++; } printf("Total de veces ganador SIN cambio de Variable %i/(%i Sorteos)\n",contador,MUESTRAS*SIMULACIONES); return 0; }
Esto va de la mano con la siguiente pregunta:
¿Es bueno cambiar siempre de variable?
Tema relacionado:
Demostracion del problema de Monty Hall
Saludos