我怎样才能超过33岁!在浏览器中使用Javascript?

时间:2018-08-08 02:56:32

标签: javascript memory-management factorial

我知道我一定缺少一个技巧,如何计算过去的33岁!在浏览器JS中使用?我有following already,这使我升到了33岁,但是当我升至34岁时我就炸了。我像这样在34岁的Node上工作...

 node --max-old-space-size=4096 --experimental-modules test.mjs

但它又在35岁时炸毁了。

我可以计算过去的33岁吗!在浏览器中使用JS?

1 个答案:

答案 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传递,以避免精度损失)