我们先来看这样一个问题:
把5拆分成若干无序正整数的和(若干可以包含1),请问有多少种拆分方法?
直接用枚举法实现:
5 = 5
5 = 4+1
5 = 3+2
5 = 3+1+1
5 = 2+2+1
5 = 2+1+1+1
5 = 1+1+1+1+1
很显然,结果为7。注意这里5 = 4+1和5=1+4是相同的,只计算为一种方法。(如果计算为两种,那么属于有序拆分,实现起来较为容易,用排列组合中的插板法即可)
可以发现当待拆分数很小时,比较容易枚举出答案。
但是若要将10进行拆分,结果有42种