我正在尝试创建一个计算给定数字的阶乘的函数。它工作正常,直到我将大于21的数字传递给函数。我明白了21!超过整数的最大限制,但那么有一个解决方案!或者我在这里做错了!请帮忙 !下面给出了我的因子计算函数。
function calculateFactorial(number)
{
var counter = 1;
var factorial = number;
if (number == 1) {
factorial = number;
}
else {
while(counter < number)
{
factorial = factorial * (number - counter);
counter++;
}
}
return factorial;
}
答案 0 :(得分:2)
你应该为javascript使用BigInteger库。
您可以自己编写(如果您不需要高级操作,编写起来非常简单和有趣),或者您可以在线搜索。那里有大量的图书馆:
What JavaScript library can I use to manipulate big integers?
答案 1 :(得分:0)
你可以:
使用BigInteger
使用具有斯特林公式的浮动