simple-math-32
Version:
Простая, но полезная математическая библиотека
18 lines (12 loc) • 527 B
JavaScript
function binomialCoefficient(n, k) {
if (k < 0 || k > n) return 0;
// Оптимизация по симметрии: C(n, k) = C(n, n - k)
k = Math.min(k, n - k);
let result = 1;
// Вычисляем C(n, k) по формуле произведения
for (let i = 1; i <= k; i++) {
result = (result * (n - k + i)) / i;
}
return Math.round(result); // Округляем, чтобы избежать ошибок из-за деления
}
module.exports = { binomialCoefficient };