Vamos a ver la potencia de calculo, sobre todo por velocidad, de los ordenadores.
Escribimos un programa que procesa una apuesta de lotería primitiva (una apuesta son 6 números del 1 al 49 que no se repiten). Para procesar una apuesta se guardan los números de la apuesta en un array A de 6 elementos. Tendremos también la combinación ganadora anotada en otro array G. Se trata de contar cuantos aciertos tiene A.
Cuando se resuelve para una apuesta se puede aplicar el algoritmo a n apuestas.
Podemos escribir un programa que básicamente será
Inicio
hacer
- generar apuesta
- comprobar apuesta
muchas veces
mostrar resultados generales
Fin
Para que el programa sea más real, vamos a tener las apuestas grabadas en un fichero y el programa debe procesar el fichero. Dejo aquí en BOX varios ficheros de apuestas, uno pequeño de 20 apuestas, otro de 50.000 y otro de 1 millón de apuestas. dejo también un programa en C que se encarga de leer las apuestas de una en una, ese programa sirve de base y hay que completarlo: leer y procesar. Tenéis que escribir la parte de procesar la apuesta.
Procesar 1 millón de apuestas puede llevar un buen rato, así que primero hacer pruebas con los ficheros pequeños y cuando el programa funcione se procesará el millón de apuestas.
En realidad, con un pc moderno, un millón de apuestas se procesa en muy poco tiempo -menos de 1 minuto- pero si el programa va visualizando los resultados de cada proceso sí irá lento. Es decir, lo que retrasa es la salida por pantalla. Pero un programa que no informa de lo que hace puede ser un poco intrigante (o frustrante si no funciona bien y no acaba nunca), así que conviene que vaya informando, por ejemplo cada 1000 apuestas procesadas, que el programa avanza.
Como wordpress no permite alojar ficheros de código, dejo el programa y los datos en un servicio de compartir documentos: BOX ( así también vais conociendo estos servicios).