Я новичок в программировании в целом и 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>