描述
把M个同样的苹果放到N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示),5,1,1和1,5,1是同一种分法。
输入描述
两个整数M和N,以空格分开,1<=M,N<=10。
输出描述
输出相应的K。
用例输入 1
7 3
用例输出 1
8
AC code
#include <bits/stdc++.h>
using namespace std;
int apple(int m, int n)
{
if (m < 0 ) {
return 0;
}
if (m == 1 || n == 1) {
return 1;
}
return apple(m, n-1) + apple(m-n, n);
}
int main()
{
int m = 0, n = 0;
scanf("%d", &m);
scanf("%d", &n);
printf("%d", apple(m, n));
return 0;
}
这道题其实跟排列组合关系不大。。。