python 动态规划实现整数拆分
我们先来看这样一个问题: 把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种;若要将20进行拆分,结果有627种;若要将30进行拆分,结果有5604种;若要将40进行拆分,结果
用户评论