[PTA]实验10-6 递归计算Ackermenn函数
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验10-6 递归计算Ackermenn函数相关的知识,希望对你有一定的参考价值。
本题要求实现Ackermenn函数的计算,其函数定义如下:
函数接口定义:
int Ack( int m, int n );
其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型
范围内。
裁判测试程序样例:
#include <stdio.h>
int Ack( int m, int n );
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("%d\\n", Ack(m, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
2 3
输出样例:
9
- 提交结果:
- 源码:
#include <stdio.h>
int Ack(int m, int n);
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("%d\\n", Ack(m, n));
return 0;
}
/* 你的代码将被嵌在这里 */
int Ack(int m, int n)
{
if (m == 0)
{
return n + 1;
}
else if (m > 0 && n == 0)
{
return Ack(m - 1, 1);
}
else if (m > 0 && n > 0)
{
return Ack(m - 1, Ack(m, n - 1));
}
}
以上是关于[PTA]实验10-6 递归计算Ackermenn函数的主要内容,如果未能解决你的问题,请参考以下文章