题解 | #放苹果#
放苹果
https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('line', function (line) {
// m个苹果 n个盘子
const [m, n] = line.split(' ').map(Number);
console.log(getCount(m,n))
});
function getCount(m, n) {
// 当只有一个盘子或没有苹果是规定为一种方式
if(n === 1 || m === 0){
return 1
} else if(n > m){
// 盘子数量比苹果多、者会有n-m个盘子剩
// 所以直接计算m个盘子m个苹果的摆放方式即可
return getCount(m,m)
}else {
// 当都不是以上情况时,则只需计算不止一个盘子为空和所有盘子都不空的情况
// 因为两种情况就可以包含所有情况了
return getCount(m, n-1) + getCount(m-n, n)
}
}

