- 有符号signed 表示有正负
无符号unsigned 表示无正负,那就是非负整数 - unsigned int的范围是=4294967295
由于是测试数据结果不超过int范围,则对于A(3,n)=-3<=,所以n<=6.即使A(3,6)
内
我的解法:
#include<iostream>
using namespace std;
//阿克曼函数
int A(unsigned int m, unsigned int n) {
if (m == 0)return n + 1;
else if (n == 0)return A(m - 1, 1);
else return A(m - 1, A(m, n - 1));
}
int main() {
unsigned int m, n;
cin >> m >> n;
cout<<A(m, n);
return 0;
}
参考解法: