题目描述
小明刚放学回家,老妈就吩咐他:马上有客人要来,赶快把苹果洗了放到盘子里去。小明要把 m 个同样的苹果放到 n 个同样的盘子里,允许有的盘子空着不放,有多少种不同的 分法。5,1,1 与 1,5,1 是同一种放法。
输入描述
多组输入,输入两个数 m 和 n 代表苹果数和盘子数
输出描述
对于每一组数,有多少种不同的放法
样例输入
7 3
样例输出
8
#include<bits/stdc++.h>
using namespace std;
int f(int x,int y)
{
if(x==0||y==1)
return 1;
if(x<y)
return f(x,x);
else
return f(x,y-1)+f(x-y,y);
}
int main()
{
int m,n;
while(cin>>m>>n)
cout<<f(m,n)<<endl;
}
该博客讨论了一个数学问题,即如何将m个苹果均匀地分配到n个盘子里,允许盘子为空。博主提供了一个递归算法f(x,y)来计算不同分法的数量,并给出了示例输入和输出。在示例中,当m=73时,有8种不同的分法。博客主要关注递归算法在解决组合问题上的应用。

958

被折叠的 条评论
为什么被折叠?



