JSFiddle - React, Tailwind, and code Playground
by dru_zod
JavaScript
var randomBetween = function (min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
};
var randomDigit = function () {
return randomBetween(0, 10);
};
var buyAndOpen = function (number, has, buys) {
if (!buys)
return has;
var r = randomBetween(0, number);
if (r < has - 1) {
return buyAndOpen (number, has, buys - 1);
}
return buyAndOpen (number, has + 1, buys - 1);
};
var run = function (n) {
var number = 20;
var has = 3;
var buys = 3;
var gotDuplicates = 0;
for (var i = 0; i < n; i += 1) {
var after = buyAndOpen(number, has, buys);
if (after < 6) {
gotDuplicates += 1;
}
}
console.log(gotDuplicates / n);
};
//run(100);