misakaq8903吧 关注:5贴子:195
  • 2回复贴,共1

【OJ代码】Problem 1205

只看楼主收藏回复

根据题目要求,如果用递归实现其实是非常简单的,至于非递归无非就是建个栈模拟递归过程。


1楼2015-11-02 17:23回复
    #include <iostream>
    using namespace std;
    int ack(int m, int n)
    {
    if (m!=0 && n!=0) return ack(m-1,ack(m,n-1));
    else if (m!=0 && n==0) return ack(m-1,1);
    else return n+1;
    }
    int main()
    {
    int m,n,res;
    cin >> m >> n;
    res=ack(m,n);
    cout << res << endl;
    return 0;
    }


    2楼2015-11-02 17:24
    回复
      注意这个函数的增长速度非常快,ack(4,4)已经是天文数字了。


      3楼2015-11-02 17:26
      回复