1、有x美分钱,用1美分、5美分、10美分、25美分来组合,有多少种组合方式:
用方式i,表示可以选择前i种美分;
用j表示可以组合成j美分;
用T(i,j)表示在可以选择前i种美分时,组合成j美分的组合方式;
建表如下:
1 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | |
1(1美分) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2(1、5美分) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
3(1、5、10美分) | 1 | 2 | 4 | 6 | 9 | 12 | 16 | 20 | 25 | 30 |
4(1、5、10、25) | 1 | 2 | 4 | 6 | 9 | 13 | 18 | 24 | 31 | 39 |
注意:1) 像2、3、4和1;或者6、7、8、9和5,都可以视为相同。6、7、8、9只是在5的基础上多加了几张一美分的,在决策表中就是重复。如果一个数不能被5整除,则比它小的数中最大的一个能被5整除的数的组合方式和这个数本身的组合方式也一样;2)最后一行可以视为最终结果;
3) j是最小的1美分的n倍,1、2、3、4、5、、、但如1)所说,选择j是5的倍数;
4) 45美分的组合方式:只使用(1、5、10美分)的情况有30种,加上必须使用25美分的情况。45-25=20;则使用前四种方式构成20美分的情况有9种,故30+9=39。
5) T(i,j)=T(i-1,j)+T(i,j-c(i)),其中c(1)=1;c(2)=5;c(3)=10;c(4)=25;
2、不按顺序选择时,比如只能按顺序选择5、10、1、25情况:
1 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | |
1(5美分) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
2(5、10美分) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
3(5、10、1美分) | 1 | 2 | 4 | 6 | 9 | 12 | 16 | 20 | 25 | 30 |
4(5、10、1、25) | 1 | 2 | 4 | 6 | 9 | 13 | 18 | 24 | 31 | 39 |
答案是一样的,T(3,10)=T(2,10)+T(3,9),注意T(3,9)=T(3,5)=2;
3、随机给出一个整数串;得到某几个(0<n)数相加结果相等的组合方式。如1、3、8、4、2、6,得到1+3+2=4+2=6,这三种组合方式:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
1(2) | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
2(2、4) | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
3(2、4、1) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
4(2、4、1、5) | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
5(2、4、1、5、8) | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
6(2、4、1、5、8、6) | 1 | 1 | 1 | 1 | 2 | 3 | 3 | 3 | 3 | 3 | 4 | 4 |
注意区分与1)的区别:
a、i还是表示只选择前i个数字,j是表示相加所得和。T(i,j)表示选择前i个数字时,相加得到和j的组合方式。
b、T(i,j)=T(i-1,j)+T(i-1,j-c(i));(j>c(i))注意与上面不同,因为这里新加入的数字不能重复使用。
T(i,j)=T(i-1,j)+1;(j=c(i))
T(i,j)=T(i-1,j);(j<c(i))
其中,c(1)=2;c(2)=4;c(3)=1;c(4)=5;c(5)=8;c(6)=6