您的位置:首页 > 其它

递归——求表示方法

2013-01-09 11:49 134 查看


求表示方法

设 m、n 均为自然数,m 可表示为一些不超过 n 的自然数之和,f(m,n) 为这种表示方式的数目。

例如,f(5,3)=5,有5种表示方法:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。

请编写程序,计算f(m,n)的值。

输入:

m n

输出:

f(m,n)的值

测试输入

期待的输出

时间限制

内存限制

额外进程

测试用例 1以文本方式显示

5 3↵

以文本方式显示

5↵

1秒64M0
测试用例 2以文本方式显示

6 4↵

以文本方式显示

9↵

1秒64M0
源代码:

#include<stdio.h>
int f(int m, int n)
{
if(m<=1||n<=1)
return 1;
else if(m<n)
return f(m,m);
else
return f(m-n,n) + f(m,n-1);
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d\n",f(m,n));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: