Draw Code used by Flicker

Probabilitas Menang Lotre

Ringkasan Permainan

Dalam sistem lotre ini, 10 angka ditarik secara acak dari kumpulan 1 hingga 49. Pemain memilih 5 angka, dan hadiah diberikan berdasarkan berapa banyak angka yang cocok dengan angka yang ditarik.

Aturan Distribusi Hadiah

  • Persyaratan minimum untuk memenangkan hadiah apa pun adalah mencocokkan 3 angka.
  • Jika ada salah satu pemenang dengan 5 kecocokan, menerima 100% dari SUPER JACKPOT yang dialokasikan.
  • Jika hanya ada 1 pemenang dengan 4+ kecocokan, mereka menerima 100% dari hadiah JACKPOT yang dialokasikan.
  • Dengan 2 pemenang memiliki 4+ kecocokan, hadiah didistribusikan 62.5%/37.5%.
  • Untuk pemenang 3 kecocokan, hanya 50% dari total kumpulan yang dialokasikan, didistribusikan sebagai 30%/15%/5% untuk masing-masing tempat 1/2/3.

Ini menciptakan dinamika menarik di mana hadiah yang lebih besar sangat langka, sementara kemenangan yang lebih kecil terjadi relatif lebih sering.

Perhitungan Probabilitas

Probabilitas P(k) untuk mencocokkan tepat k angka dari 5 dihitung sebagai:

P(k) = [C(5,k) × C(44,10-k)] / C(49,10)

Di mana:
• C(n,k) mewakili kombinasi (jumlah cara memilih k elemen dari n)
• 5 adalah jumlah angka yang dipilih pemain
• 10 adalah jumlah angka pemenang yang ditarik
• 49 adalah jumlah total angka yang mungkin

Analisis Perhitungan Probabilitas

Rumus Distribusi Hipergeometrik

P(k) = [C(5,k) × C(44,10-k)] / C(49,10)

3 Kecocokan

P(3) = [C(5,3) × C(44,7)] / C(49,10)

= (10 × 38.608.020) / 8.217.822.536

≈ 386.080.200 / 8.217.822.536

≈ 0.04698 ≈ 1 dari 21.28

4 Kecocokan

P(4) = [C(5,4) × C(44,6)] / C(49,10)

= (5 × 7.059.052) / 8.217.822.536

≈ 35.295.260 / 8.217.822.536

≈ 0.004295 ≈ 1 dari 233

5 Kecocokan (SUPER JACKPOT)

P(5) = [C(5,5) × C(44,5)] / C(49,10)

= (1 × 1.086.008) / 8.217.822.536

≈ 1.086.008 / 8.217.822.536

≈ 0.000132 ≈ 1 dari 7.566

Probabilitas Menang Keseluruhan (≥3 Kecocokan)

P(menang) = P(3) + P(4) + P(5)

≈ 0.04698 + 0.004295 + 0.000132

≈ 0.0514 ≈ 1 dari 19.45

Ini berarti seorang pemain memiliki peluang sekitar 5.14% untuk memenangkan hadiah apa pun.

Temuan Utama

  • Peluang jackpot sebenarnya (5 kecocokan) adalah 1 dari 7.566
  • Peluang untuk memenangkan hadiah apa pun (≥3 kecocokan) adalah 1 dari 19.45

The method used for Draw

            
              /**               
               * Generates an array of unique random integers within a specified range in sorted order.
               *
               * Performed daily for draws with parameters of generateUniqueRandomSortedIntegers(10, 1, 49)
               *
               *
               * @param {number} count - The number of unique integers to generate (must be positive)
               * @param {number} min - The lower bound of the range (inclusive)
               * @param {number} max - The upper bound of the range (inclusive)
               * @returns {number[]} A sorted array of unique random integers
               * @throws {Error} If the requested count exceeds the possible unique values in the range
               * or if any parameter is invalid
               */
              function generateUniqueRandomSortedIntegers(count, min, max) {
                // Validate input parameters
                if (!Number.isInteger(count) || !Number.isInteger(min) || !Number.isInteger(max)) {
                  throw new Error("All parameters must be integers");
                }

                if (count <= 0) {
                  throw new Error("Count must be a positive integer");
                }

                if (min > max) {
                  throw new Error("Minimum value cannot exceed maximum value");
                }

                const rangeSize = max - min + 1;
                if (count > rangeSize) {
                  throw new Error(`Cannot generate ${count} unique numbers in range [${min}, ${max}]`);
                }

                // For small ranges relative to count, use Fisher-Yates shuffle algorithm
                if (count > rangeSize / 2) {
                  const allNumbers = Array.from({length: rangeSize}, (_, i) => min + i);

                  // Fisher-Yates shuffle
                  for (let i = allNumbers.length - 1; i > 0; i--) {
                    const j = Math.floor(Math.random() * (i + 1));
                    [allNumbers[i], allNumbers[j]] = [allNumbers[j], allNumbers[i]];
                  }

                  return allNumbers.slice(0, count).sort((a, b) => a - b);
                }

                // For larger ranges relative to count, use Set approach
                const uniqueNumbers = new Set();
                while (uniqueNumbers.size < count) {
                  const randomNumber = Math.floor(Math.random() * rangeSize) + min;
                  uniqueNumbers.add(randomNumber);
                }

                return Array.from(uniqueNumbers).sort((a, b) => a - b);
              }