Quantum Counter in JavaScript

by Andrew Dunai

HTML

<div class="debug"></div>

JavaScript

(function() {
    'use strict';

    var quantumCount = function(max, chance) {
        var _actual = 0;
        var counter = 0;
        while (counter < max) {
            if (Math.random() <= chance) {
                counter++;
            }
            _actual++;
        }
        return _actual;
    };

    var total = 0;
    var count = 10; // 10 tests
    for (var i = 0; i < count; i++) {
        var result = quantumCount(100, 0.0001); // Count to 1,000,000 (count to 100 with 0.001% chance)
        document.querySelector('.debug').innerHTML += 'Counted: ' + result + '<br />';
        total += result;
    }
    document.querySelector('.debug').innerHTML += '<b>Average:</b> ' + total/count + '<br />';
})();