// Función para generar el sorteo de 6 números aleatorios entre 0 y 45 usando crypto
function sortearNumeros(): number[] {
  const numeros: number[] = [];
  
  while (numeros.length < 6) {
    // Usamos crypto.getRandomValues para generar un número aleatorio más seguro
    const num = Math.floor(crypto.getRandomValues(new Uint32Array(1))[0] / (Math.pow(2, 32) / 46)); 
    if (!numeros.includes(num)) {
      numeros.push(num); // Agrega el número si no está en la lista
    }
  }

  return numeros;
}

// Función para realizar 5000 sorteos y contar las frecuencias de cada número
function realizarSorteos(numSorteos: number): Map<number, number> {
  const frecuencias = new Map<number, number>();

  // Realizamos los sorteos
  for (let i = 0; i < numSorteos; i++) {
    const numerosSorteados = sortearNumeros();
    
    // Contamos la frecuencia de cada número sorteado
    for (const num of numerosSorteados) {
      const conteoActual = frecuencias.get(num) || 0;
      frecuencias.set(num, conteoActual + 1);
    }
  }

  return frecuencias;
}

// Función para mostrar los 6 números más frecuentes
function mostrarTopFrecuentes(frecuencias: Map<number, number>): void {
  const listaFrecuencias = Array.from(frecuencias.entries());
  listaFrecuencias.sort((a, b) => b[1] - a[1]);

  console.log("Los 6 números más frecuentes son:");
  for (let i = 0; i < 6; i++) {
    const [numero, frecuencia] = listaFrecuencias[i];
    console.log(`${numero}: ${frecuencia} veces`);
  }
}

// Realizamos 5000 sorteos y mostramos los 6 más frecuentes
const frecuencias = realizarSorteos(300000);
mostrarTopFrecuentes(frecuencias);

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: