放苹果
问题描述
把 M 个同样的苹果放在N 个同样的盘子里,允许有的盘子空着不放,问共有多少
种不同的分法?(用K 表示)注意:5,1,1 和1,5,1 是同一种分法。
输入数据
第一行是包含两个整数M 和N,以
空格分开。1<=M,N<=10。
输出要求
对输入的每组数据M 和N,用一行输出相应的K。
输入样例
7 3
输出样例
8
import java.util.Scanner;
/**
* 把 M 个同样的苹果放在N 个同样的盘子里,允许有的盘子空着不放,问共有多少
* 种不同的分法?(用K 表示)注意:5,1,1 和1,5,1 是同一种分法。
*
*/
public class Apple {
static int m; //苹果的个数
static int n; //盘子的个数
static int method=0;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
m=input.nextInt();
n=input.nextInt();
input.close();
appleNum(1, 0, 0);
System.out.println(method);
}
public static void appleNum(int time,int lastNum,int sum){
if(time==n+1){
if(sum==m){
method++;
}
return;
}
for (int i = lastNum; i <=m-sum ; i++) {
appleNum(time+1, i, sum+i);
}
}
}