我需要在我的电子表格中计算更大函数的阶乘(cdf 表示超几何概率(。我已经尝试了很多在这里的不同帖子中描述的方法,但没有一个给我正确的结果。如果我插入(3(,我会得到(2(,这对我来说毫无意义。谁能解释我做错了什么?
另外,从我所读到的内容来看,我将面临较大阶乘的问题,因为 JavaScript 无法存储非常大的数字?我看到一个解决方案建议我使用字符串来表示大整数,但它看起来非常复杂......关于处理此问题的更简单方法的任何想法?
阶乘函数:
function MyFac(x) {
var fac=x;
var i=1;
while (i<x) {
fac=fac*i;
i++;
}
return fac;
}
代码的更正在哪里:
function MyFac(x) {
var fac=x;
while (x>1) {
x--;
fac=fac*x;
}
return fac;
}
console.log(MyFac(5))
console.log(MyFac(4))
console.log(MyFac(3))
console.log(MyFac(2))
你可以在这里找到更好的阶乘实现:
JavaScript 中的快速阶乘函数