1 条题解

  • 0

    C :

    #include<stdio.h>
    int m,n;
    int f(int a,int b)
    {
    	if(a==0)	return b+1;
    	if(b==0)	return f(a-1,1);
    	return f(a-1,f(a,b-1));
    }
    int main()
    {
    	scanf("%d %d",&m,&n);
    	printf("%d",f(m,n));
    	return 0;
    } 
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int m,n;
    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(){
    	cin>>m>>n;
    	cout<<ack(m,n);
        return 0;
    }
    

    Python :

    def ack(m,n):
        if(m==0):
            y=n+1
        elif(n==0):
            y=ack(m-1,1)
        else:
            y=ack(m-1,ack(m,n-1))
        return(y)
    sr=input().split()
    m=int(sr[0])
    n=int(sr[1])
    print(ack(m,n))
    

    【基础】阿克曼(Ackmann)函数

    信息

    ID
    715
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者