JSFiddle - React, Tailwind, and code Playground

by Valentin Sarychev

JavaScript

let ctl = 0, exp = 0;

async function flipCoin () {
  while (true) {
    const coin = Math.random();
    if (coin < .96) {
    	continue;
    } else if (coin < .98) {
    	ctl++;
    } else if (coin < 1) {
    	exp++;
    }
    if (ctl % 1e5 === 0) {
    	await new Promise(setTimeout);
    }
    if (ctl && ctl % 1e7 === 0) {
    	console.log(ctl, exp, exp - ctl, 100 * exp / ctl + '%');
      ctl = 0;
      exp = 0;
    	await new Promise(setTimeout);
    }
  }
}

flipCoin();