1、整数分划问题
问题描述:
对于一个正整数n的分划,就是把n表示成一系列正整数之和的表达式。需要注意的是,分划与顺序无关,例如6=5+1和6=1+5被认为是同一种分划。另外,这个整数n本身也算是一种分划。
思路:
(1)从上面n=6的例子中可以看出,很难发现大问题P(n)和小问题P(n-d) (d=1,2,3,…)之间的关系。因此在解决本问题之前,先看另外一个问题:用递归法计算从n个人中选择k个人组成一个委员会的不同组合数。这个问题并不难,高三的排列组合问题。
(2)由分析可知:由n个人里选k个人的组合数=由n-1个人里选k个人的组合数+由n-1个人选择k-1个人的组合数。这也是比较常见的排列组合公式。
代码:
int comm(int n,