.binomial-container {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e1e1e1;
border-radius: 12px;
background-color: #fdfdfd;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.binomial-container h2 {
color: #2c3e50;
margin-top: 0;
text-align: center;
border-bottom: 2px solid #3498db;
padding-bottom: 10px;
}
.input-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 20px;
}
@media (max-width: 600px) {
.input-grid { grid-template-columns: 1fr; }
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
font-weight: 600;
margin-bottom: 8px;
color: #34495e;
}
.input-group input {
padding: 12px;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 16px;
}
.btn-calc {
grid-column: 1 / -1;
background-color: #3498db;
color: white;
padding: 15px;
border: none;
border-radius: 6px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: background 0.3s;
margin-top: 10px;
}
.btn-calc:hover {
background-color: #2980b9;
}
.result-display {
margin-top: 25px;
padding: 20px;
background-color: #ecf0f1;
border-radius: 8px;
}
.result-item {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid #dcdcdc;
}
.result-item:last-child {
border-bottom: none;
}
.result-label {
font-weight: 600;
color: #2c3e50;
}
.result-value {
color: #2980b9;
font-family: monospace;
font-size: 1.1em;
}
.article-section {
margin-top: 40px;
line-height: 1.6;
color: #333;
}
.article-section h3 {
color: #2c3e50;
margin-top: 25px;
}
.math-formula {
background: #f4f4f4;
padding: 15px;
text-align: center;
font-style: italic;
margin: 15px 0;
border-left: 5px solid #3498db;
}
Binomial Probability Calculator
P(X = x) – Exact:
P(X < x) – Less than:
P(X ≤ x) – Cumulative:
P(X > x) – Greater than:
P(X ≥ x) – At least:
Mean (μ):
Variance (σ²):
What is a Binomial Distribution?
The binomial distribution is a discrete probability distribution that summarizes the likelihood that a value will take one of two independent values under a given set of parameters or assumptions. It is used to model the number of successes in a fixed number of independent trials (Bernoulli trials), where each trial has the same probability of success.
P(x) = (n! / (x!(n – x)!)) * p^x * (1 – p)^(n – x)
Key Requirements for a Binomial Experiment
- Fixed Number of Trials (n): The experiment must consist of a specific number of trials that do not change.
- Two Possible Outcomes: Each trial must result in either a "Success" or a "Failure".
- Constant Probability (p): The probability of success must be the same for every single trial.
- Independence: The outcome of one trial must not affect the outcome of another.
Understanding the Inputs
To use this calculator effectively, you need to provide three specific numbers:
- n (Number of Trials): How many times are you repeating the event? (e.g., flipping a coin 10 times).
- p (Probability of Success): What is the chance of success in a single trial? This must be between 0 and 1. (e.g., 0.5 for a fair coin).
- x (Number of Successes): How many successes are you looking to calculate the probability for?
Example Calculation
Imagine you are a basketball player with an 80% free-throw average (p = 0.80). If you take 5 shots (n = 5), what is the probability that you make exactly 3 (x = 3)?
Using the formula: n=5, x=3, p=0.8. The result would show that P(X=3) is approximately 0.2048, or 20.48%.
function fact(num) {
if (num < 0) return 1;
var res = 1;
for (var i = 2; i <= num; i++) res *= i;
return res;
}
function nCr(n, r) {
if (r n) return 0;
if (r === 0 || r === n) return 1;
if (r > n / 2) r = n – r;
var res = 1;
for (var i = 1; i <= r; i++) {
res = res * (n – i + 1) / i;
}
return res;
}
function binomialPMF(n, p, x) {
if (x n) return 0;
return nCr(n, x) * Math.pow(p, x) * Math.pow(1 – p, n – x);
}
function runBinomialCalculation() {
var n = parseInt(document.getElementById('numTrials').value);
var p = parseFloat(document.getElementById('probSuccess').value);
var x = parseInt(document.getElementById('numSuccesses').value);
if (isNaN(n) || isNaN(p) || isNaN(x)) {
alert("Please enter valid numbers in all fields.");
return;
}
if (p 1) {
alert("Probability (p) must be between 0 and 1.");
return;
}
if (x > n) {
alert("Number of successes (x) cannot exceed the number of trials (n).");
return;
}
var exact = binomialPMF(n, p, x);
var cumulativeLessEq = 0;
for (var i = 0; i <= x; i++) {
cumulativeLessEq += binomialPMF(n, p, i);
}
var cumulativeLess = cumulativeLessEq – exact;
var cumulativeGreaterEq = 1 – cumulativeLess;
var cumulativeGreater = 1 – cumulativeLessEq;
var mean = n * p;
var variance = n * p * (1 – p);
document.getElementById('pExact').innerText = exact.toFixed(6);
document.getElementById('pLess').innerText = Math.max(0, cumulativeLess).toFixed(6);
document.getElementById('pLessEq').innerText = cumulativeLessEq.toFixed(6);
document.getElementById('pGreater').innerText = Math.max(0, cumulativeGreater).toFixed(6);
document.getElementById('pGreaterEq').innerText = cumulativeGreaterEq.toFixed(6);
document.getElementById('resMean').innerText = mean.toFixed(4);
document.getElementById('resVar').innerText = variance.toFixed(4);
document.getElementById('resultDisplay').style.display = 'block';
}