2 条题解

  • 1
    @ 2024-4-15 22:12:12

    蒟蒻扫盲计划NO.3

    温馨提示:

    这是递归门槛,不会它你就相当于啥也不会(bushi

    (核心)代码:

    ackmann部分:

    int akm(int m,int n){    
        if(m==0){
            return n+1;
        }else if(n==0){
            return akm(m-1,1);
        }else{
            return akm(m-1,akm(m,n-1));
        }
    }
    

    主函数部分:

    akm(m,n);
    

    总结:

    难点:递归出口三种选择,递归树

    考点:递归,有参有返

    综合指数:●●●

    • 1
      @ 2023-1-9 22:47:56

      这是一道很裸的递归调用题。根据阿克曼函数m, n三种情况分别写不同的返回值。

      AC代码

      #include <iostream>
      using namespace std;
      int f(int m, int n) //套公式 
      {
      	if (m == 0)
              return n + 1;
      	else if ((m > 0) && (n == 0))
              f (m - 1, 1);
      	else
              f(m - 1, f(m, n - 1));
      }
      int main()
      {
      	int a, b;
      	cin >> a >> b; //输入 
      	cout << f(a, b); //输出
          return 0;
      }
      
    • 1

    [入门]阿克曼(Ackmann)函数

    信息

    ID
    692
    时间
    1000ms
    内存
    16MiB
    难度
    1
    标签
    递交数
    136
    已通过
    90
    上传者