javascript - Ackermann 函数导致超出最大调用堆栈大小错误
问题描述
在 React 库中,我正在编写一个计算 Ackermann 函数的算法程序。
对于像这样的一些输入n=4
,m=1
我得到一个
RangeError:超出最大调用堆栈大小。
需要一些帮助来避免此错误。
ackermannCalc(n, m) {
while (n !== 0) {
if(m === 0){
m = 1;
} else {
m = this.ackermannCalc(n, m - 1);
}
n = n - 1;
}
return m + 1;
}
解决方案
推荐阅读
- javascript - 如何在mongodb中发布图像?
- c++ - 具有非类型模板参数的 C++20 lambda
- haskell - 我想知道这个函数在 Haskell 中是如何工作的
- wordpress - 网站无响应 - 未找到群组查询
- xml - 为什么这个 XPath 语句在 libxml2 中不起作用,但在其他 xpath 工具中却能正常工作?
- python - 如何将图像目录作为目标名称和图像数组存储到 DataFrame pandas
- python - 将值从函数附加到列表
- java - 如何设置 Java - SnakeYaml Dumperoptions 以省略引号和“|”?
- time-complexity - 你能帮我解决递归关系 T(1)=5,对于所有 n>=2,T(n)=2T(n-1)+(3*n+1)
- php - PHP while 语句回显重复项