我正在解决 y 选择 p 组合。我是 Javascript 的初学者。
我已经产生了阶乘函数的这个定义:它被用来做 x * (x-1) * (x-2) ... * 1。
function factorial(z)
{
var product = z;
if (z == 0)
{
return 1;
}
else
{
for (var m = 1; m < z; m++)
{
product = m * product;
return product;
}
}
}
然后我有这个函数,它使用阶乘函数。
function placeBoxes()
{
var ids = 0;
for (var y = 0; y < (numOfRows-1); y++)
{
for (var p = 0; p < (y+1); p++, ids++)
{
x = document.createElement('div');
x.className = "box";
x.id = ids;
x.innerHTML = (factorial(y))/((factorial(y-p))*(factorial(p)));
document.getElementById('holdsBoxes').appendChild(x);
}
}
}
它应该选择组合。出于实验目的,numOfRows 实际上介于 5 和 30 之间。 0C0 1C0 1C1 2C0 2C1 2C2 等等……这相当于 1、1、1、1、2、1 等等……
有谁知道我做错了什么?我得到的是 NaN 而不是第二个、第三个、第五个、第八个、第九个和许多其他值的值。
编辑:谢谢大家!问题已经解决了。阶乘函数搞砸了。