检查谷歌表单的JavaScript阶乘函数是否正常?

检查谷歌表单的JavaScript阶乘函数是否正常?,javascript,google-sheets,cdf,Javascript,Google Sheets,Cdf,我需要在电子表格中计算一个更大函数的阶乘(超几何概率的cdf)。我已经尝试了很多在这里不同帖子中描述的方法,但是没有一个能给我正确的结果。如果我插入(3),我得到(2),这对我来说毫无意义。谁能解释我做错了什么 另外,从我所读到的内容来看,我将面临更大阶乘的问题,因为JavaScript不能存储非常大的数字?我看到一个解决方案建议我使用字符串来表示大整数,但它看起来非常复杂。。。有没有更简单的方法来处理这个问题的想法 阶乘函数: function MyFac(x) { var f

我需要在电子表格中计算一个更大函数的阶乘(超几何概率的cdf)。我已经尝试了很多在这里不同帖子中描述的方法,但是没有一个能给我正确的结果。如果我插入(3),我得到(2),这对我来说毫无意义。谁能解释我做错了什么

另外,从我所读到的内容来看,我将面临更大阶乘的问题,因为JavaScript不能存储非常大的数字?我看到一个解决方案建议我使用字符串来表示大整数,但它看起来非常复杂。。。有没有更简单的方法来处理这个问题的想法

阶乘函数:

function MyFac(x) {    
    var fac=x;
    var i=1;

    while (i<x) {        
        fac=fac*i;
        i++;        
    }        

    return fac;        
}
函数MyFac(x){ var fac=x; var i=1;
而(iWhere's correction of your code:

函数MyFac(x){ var fac=x; 而(x>1){ x--; fac=fac*x; } 返回fac; } 控制台日志(MyFac(5)) 控制台日志(MyFac(4)) 控制台日志(MyFac(3)) console.log(MyFac(2))