题目
- 补充:集合要求递增,所以(1,2)可以(2,1)不行
- 遍历模型为从1开始,尝试每一种数,如果要尝试的数比剩余的数要大,说明违反了递增,返回0,如果剩余数量为0,返回1
function process(pre, rest) {
if (rest === 0) {
return 1;
}
if (pre > rest) {
return 0;
}
let ways = 0;
for (let i = pre; i <= rest; i++) {
ways += process(i, rest - i);
}
return ways;
}
process(1, 8);