1 solutions

  • 0
    @ 2025-3-3 16:33:26

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    //根据题目意思,定义递归 
    int Ack(int m,int n){
        if(m==0) return n+1;
        else if(m!=0 && n==0) return Ack(m-1,1);
        else return Ack(m-1,Ack(m,n-1));
    }
    int main(){
        int m,n;
        cin>>m>>n;
        cout<<Ack(m,n);
        return 0;
    }
    

    Java :

    import java.util.Scanner;
    public class Main{
    public static void main (String[] args){
    	Scanner sc = new Scanner(System.in);
    	int m = sc.nextInt();
    	int n = sc.nextInt();
    	System.out.println(ack(m,n));
    	
    	
    	
    	}
    
    
    public static int ack(int m ,int n) {
    	int r;
    	if(m == 0) {
    		r = n + 1;
    	}else if(n == 0) {
    		r = ack(m - 1 ,1);
    	}else {
    		r = ack(m - 1,ack(m,n - 1));
    	}
    	
    	return r;
    }
     
    }
    
    • 1

    Information

    ID
    10575
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By