Success Chance Plausibility Checker

JavaScript

let inputYourSuccessCount = 13;

let inputTestChances = [
    20
    ,20
    ,20
    ,26
    ,26
    ,20
    ,26
    ,26
    ,26
    ,26
    ,20
    ,26
    ,26
    ,26
    ,26
    ,26
    ,20
    ,20
    ,32
    ,26
    ,20
    ,20
    ,26
    ,32
    ,26
    ,20
    ,26
    ,26
    ,26
    ,26
];

// Below here is the actual simulations code:
const NUM_SIMULATIONS = 1000000;

var outputHistogram = [];

for (let i = 0; i < inputTestChances.length + 1; i++)
    outputHistogram.push(0);

for (let eachSimulation = 0; eachSimulation < NUM_SIMULATIONS; eachSimulation++)
{
    let successesThisSimulation = 0;

    for (let i = 0; i < inputTestChances.length; i++)
    {
        let thisTestSuccess = Math.random() < (inputTestChances[i] / 100.0);

        if (thisTestSuccess)
            successesThisSimulation++;
    }

    outputHistogram[successesThisSimulation]++;
}

// Add up the simulated success counts at your true succcess count or higher:
let cumulativeSuccessCountYoursOrHigher = 0.0;

for (let i = 0; i < outputHistogram.length; i++)
{
    //Console.WriteLine($"{i},{outputHistogram[i]},{(outputHistogram[i]/(double)NUM_SIMULATIONS)}");
    
    if (i >= inputYourSuccessCount)
      cumulativeSuccessCountYoursOrHigher += outputHistogram[i];
}

// Print final result to screen:
let p = document.createElement("p");
p.innerText = "The chance of getting your success count (or more): " + (cumulativeSuccessCountYoursOrHigher/(1.0 * NUM_SIMULATIONS) * 100) + "% (p value)";
document.body.appendChild(p);

// Print table to screen:
let myTable = document.createElement("table");
document.body.appendChild(myTable);

let myHeader = document.createElement("tr");
myTable.appendChild(myHeader);

var th1 = document.createElement("th");
th1.innerText = "[Success Count]";
myHeader.appendChild(th1);

var th2 = document.createElement("th");
th2.innerText = "[Sims...