| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- let partiers = 23;
- let months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
- display = ()=>{
- let datesDiv = document.querySelector("#datesDiv");
- document.querySelector("#partiers").value = partiers;
- while(datesDiv.children.length > 0){
- datesDiv.removeChild(datesDiv.firstChild);
- }
- let nums = [];
- for(let i = 0; i < partiers; i++){
- let num = Math.floor((Math.random() * 366) + 1);
- if(num === 60){
- i--;
- }else{
- nums.push(num);
- }
- }
- let matches = [];
- for(let i = 0; i < nums.length; i++){
- for(let j = i + 1; j < nums.length; j++){
- if(nums[i] === nums[j]){
- matches.push(nums[i]);
- break;
- }
- }
- }
- for(let num of nums){
- let date = new Date(2020, 0);
- date = new Date(date.setDate(num));
- let para = document.createElement("p");
- para.classList = "date";
- para.innerText = `${months[date.getMonth()]} ${date.getDate()}`;
- datesDiv.appendChild(para);
- for(let match of matches){
- if(match === num){
- para.classList += " match";
- break;
- }
- }
- }
- calculateChance();
- },
- calculateChance = ()=>{
- let chance = document.querySelector("h3");
- let input = document.querySelector("#partiers");
-
- partiers = input.value;
-
- let percent = 1
- for(let i = 1; i < partiers; i++){
- percent *= (365 - i) / 365;
- }
- chance.innerText = `${((1 - percent) * 100).toFixed(4)}% chance of a match`;
- }
- document.getElementById("partiers").onchange = ()=>{calculateChance()};
- document.getElementById("tryAgain").onclick = ()=>{display()};
- display();
|