ackermann.cpp
来自「1928年」· C++ 代码 · 共 40 行
CPP
40 行
#include <iostream>
#include <cstdlib>
using namespace std;
long Ackermann(long m, long n);
int main(int argc, char *argv[])
{
long m, n;
cin>>m>>n;
cout<<Ackermann(m, n);
system("PAUSE");
return 0;
}
long Ackermann(long m, long n)
{
long stack[10000];
int pos=1;
stack[0]=m; stack[1]=n;
while(pos)
{
n=stack[pos--];
m=stack[pos];
if(m==0) stack[pos]=n+1;
if(m!=0 && n==0)
{
stack[pos++]=m-1;
stack[pos]=1;
}
if(m!=0 && n!=0)
{
stack[pos++]=m-1;
stack[pos++]=m;
stack[pos]=n-1;
}
}
return stack[0];
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?