我知道我一定缺少一个技巧,如何计算过去的33岁!在浏览器JS中使用?我有following already,这使我升到了33岁,但是当我升至34岁时我就炸了。我像这样在34岁的Node上工作...
node --max-old-space-size=4096 --experimental-modules test.mjs
但它又在35岁时炸毁了。
我可以计算过去的33岁吗!在浏览器中使用JS?
答案 0 :(得分:2)
原生不支持这么大的数字,因此一种选择是使用诸如BigInteger之类的库:
const factorial = n => bigInt(n).multiply(
n === 1
? 1
: factorial(n - 1)
);
console.log(factorial(45));
<script src="https://cdnjs.cloudflare.com/ajax/libs/big-integer/1.6.34/BigInteger.min.js"></script>
(使用时,请确保将大量数字作为 strings 或其他bigInt
传递,以避免精度损失)