我需要为电子表格中的更大函数计算阶乘(对于超几何概率,为CDF)。我尝试了许多在本文不同文章中描述的方法,但是没有一种方法能给我正确的结果。如果我插入(3),我会得到(2),这对我来说毫无意义。谁能解释我在做什么错?
此外,从我读到的内容来看,由于JavaScript无法存储大量数字,我将面临较大阶乘的问题?我看到一个解决方案,建议我使用字符串来表示大整数,但这看起来非常复杂...关于解决此问题的更简便方法的任何想法吗?。
功能:
function MyFac(x) {
var fac=x;
var i=1;
while (i<x) {
fac=fac*i;
i++;
}
return fac;
}
答案 0 :(得分:0)
这是您的代码的更正:
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))
您可以在这里找到更好的阶乘实现: