题目描述
阿布喜欢吃梨,有一天妈妈买了一筐梨子。小伙伴们来做客,他想和小伙伴们一起分享。现在他要把m个梨放到n个盘子里面 (我们允许有的盘子为空),你能告诉阿布有多少种分法吗?(请注意,如果有三个盘子,我们将5,1,1和1,1,5,视为同一种分法)
本题要求用递归函数实现
本题要求实现1个自定义函数。
答案:
#include<stdio.h>
int f(int x,int y);
int main()
{
int i,t,j,k,x,y,l;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%d%d",&x,&y);
printf("%d\n",f(x,y));
}
}
return 0;
}
int f(int m,int n)
{
if(n==1||m==0)
return 1;
if(m<n)
return f(m,m);
else
return f(m,n-1)+f(m-n,n);
}