int ackermann2(int m, int n) {
if (m < 0 || n < 0) {
return -1;
}
stack<ack> st;
int f=0;
st.push(ack(m, n, 0));
while (!st.empty()) {
if (st.top().m == 0) {
st.top().ret = st.top().n + 1;
}
else if (st.top().n == 0) {
st.top().n = 1;
st.top().m--;
}
else {
st.push(ack(st.top().m--, st.top().n - 1,0));
}
if (st.top().ret != 0) {
int tmp = st.top().ret;
st.pop();
st.top().n = tmp;
f = tmp;
}
}
return f;
}
C++算法 数据结构 非递归实现阿克曼函数,出错了,问题在哪
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
悬赏问题
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥20 spring boot集成mqtt的使用问题
- ¥15 使用百度地图api 位置函数报错?
- ¥15 metamask如何添加TRON自定义网络
- ¥66 关于川崎机器人调速问题
- ¥15 winFrom界面无法打开
- ¥30 crossover21 ARM64版本安装软件问题
- ¥15 mymetaobjecthandler没有进入
- ¥15 mmo能不能做客户端怪物