Как посчитать формулу для Сочетаний в джаваскрипте?
Вот мой код на html:
<p>Введите количество, из скольки сочетания <input type="text" id="bigNum"></p>
<p>Введите количество, сколько сочетаний <input type="text" id="smallNum"></p>
<button onclick="build()">найти количество сочетаний</button>
<p id="out"></p>
<hr>
<p id="out2"></p>
Вот мой код на js:
var j, fac, n, m, facN, facM, facNM, soch, height;
function fac() {
fac=1;
for (var i=1;i<=j;i++) {
fac = fac * i;
}
console.log(fac);
}
function build() {
n = document.getElementById('bigNum').value;
m = document.getElementById('smallNum').value;
j=n;
fac();
facN=fac;
j=m;
fac();
facM=fac;
j=n-m;
fac();
facNM=fac;
soch=facN/facM/facNM;
document.getElementById('out').innerHTML += soch+ '<br>' + facN + ' ' +facM +' ' +facNM;
document.getElementById('out2').innerHTML
}
да, много лишних переменных, но не суть.
По идее, первая функция fac() высчитывает факториал числа j, и после работы этой функции переменная fac носит значение факториала числа, которое до вызова этой функции хранилось в переменной j.
В функции, которая должна считать количество сочетаний, берётся два аргумента, сколько элементов во всей выборке, и сколько элементов надо выбрать. Потом три раза обсчитывается факториал, таким образом что перед вызовом функции в переменную j записывается нужный аргумент, вызывается функция, и значение переменной fac уже присваивается нужной переменной.(я знаю, что можно использовать функцию с параметрами, но пока решил без них). А потом уже проводится формула, и должен быть вывод результата. Но проблема в том, что это не работает, что я делаю не так?
Ответы (1 шт):
Ты не можешь вызвать fac(), потому что это переменная. Переименуй функцию.