【题目描述】
把 M 个同样的小球放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?
(注意:5,1,1 和 1,5,1 是同一种分法)
【输入格式】
两个正整数M和N,用空格隔开
【输出格式】
一个正整数,即小球摆放的方法数
【样例输入1】
7 3
【样例输出1】
8
【样例输入2】
60 43
【样例输出2】
965552
【数据范围】
对于100%的数据,1<=M,N<=100
输入:
两个正整数M和N,用空格隔开
输出:
一个正整数,即小球摆放的方法数
难度:
一般
输入示例:
7 3
输出示例:
8
代码类型:
C/C++
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int coun(int m, int n);
int main(){
int m, n;
while (1){
cin >> m >> n;
int res = coun(m, n);
cout << res;
}
return 0;
}
int coun(int m, int n){
if (m == 0 || n == 1)
return 1;
if (n > m)
return coun(m, m);
else
return coun(m, n - 1) + coun(m - n, n);
}
#include <iostream>
int fun(int m,int n){
if(m==0||n==1)
return 1;
if(m <n)
return fun(m,m);
else
return fun(m,n-1)+fun(m-n,n);
}
int main(){
int m,n;//m个苹果 n个盘子
printf("input n,m:");
scanf("%d%d",&n,&m);
printf("count= %d",fun(m,n));
return 0;
}