我试图创建一个函数来计算给定数的阶乘。在我将大于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;
}
最佳答案
您应该为javascript使用biginger库。
你可以自己写(如果不需要高级操作,写起来很容易,也很有趣),也可以在网上搜索。有很多这样的图书馆:
What JavaScript library can I use to manipulate big integers?
关于javascript - 计算阶乘超过JavaScript中的最大整数限制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29429395/