вероятность случайного дня рождения - PullRequest
0 голосов
/ 25 мая 2020

Я новичок в программировании в целом и Javascript в частности (пара недель), и я пытаюсь создать программу, которая сообщала бы мне, сколько людей должно быть в комнате, что это должно быть вероятно (подробнее более пятидесяти процентов), что у одного человека тот же день рождения, который я выбрал заранее. уравнение по математике выходит около 253 человек. Однако после запуска моей программы 10000 раз она продолжает давать мне около 367. Мне интересно, что не так с моей программой или генератором случайных чисел на javascript.

//sorry if the code is messy and unprofesional for i am very new 
//functions for specific tasks

const functions = {
        randomGenerator (finish){
            const num = Math.floor(Math.random()*(finish))
            return num;
    } ,
        pickNum () {
        if(check){return}
        check = true;
        chosenTrials = +(prompt("PLEASE ENTER THE AMOUNT OF TRIALS YOU WANT TO RUN."))
        return chosenTrials;
    }
    }
    //The probability of having a person with a specific borthday
    const birthdayBtn = document.getElementById("bdBtn")
    const count = [];
    const dateArray = [];
    let rand;
    let check = false;
    let chosenTrials;
    const date = () =>{
        
        functions.pickNum();
        for(e =0;e<chosenTrials;e++){
            for (let b = 1;b<2000;b++){
                rand =functions.randomGenerator(366);
                if(dateArray.includes(59)){//59 is a random number 
                    dateArray.push(rand);
                    break
                }
            dateArray.push(rand)
               }
               count.push(dateArray.length)
               dateArray.length = 0;
            }
            let avg =  0;
            count.forEach(el => avg+=el)
        
            const final = avg/count.length
            console.log(final)
           // console.log(count)
        
        }
    birthdayBtn.addEventListener('click',date)
    <!DOCTYPE html>
    <html lang="en">
      <head>
        <script src="scripts/statistics.js" defer></script>
        <button id = bdBtn>The birthday problem</button>
       
      </head> 
      <body>
      </body>
    </html>
...