
趣味数学028:换零钱问题.doc
7页换零钱问题换零钱这样的事,在日常生活中经常会遇到以整元纸币为例,有1元、5元、10元、20元、50元、100元6种,换零钱就是把面额大的换成面额小的也许你已经换过无数次,不过,你可曾想过换零钱的方法究竟有多少种吗?也许没有想过,其实,这里面的学问大着呢今天我们就来研究研究这个司空见惯的问题.对于面额比较小的,很容易把所有的方法一一列举出来,比如:把一张5元的换成面额较小的,只有5张1元的1种方法;把一张10元的换成面额较小的,有2张5元的、1张5元的5张1元的、10张1元的,3种方法;把一张20元的换成面额较小的,有2张10元的、1张10元的2张5元的、1张10元的1张5元的5张1元的、4张5元的、3张5元的5张1元的、2张5元的10张1元的、1张5元的15张1元的、20张1元的,8种方法.那么,把一张50元的换成面额较小的有多少种方法?把一张100元的换成面额较小的有多少种方法?虽然你会想到答案肯定比8种更多,但是你一定想不到,答案竟然会分别达到56种和343种.不信请往下看:先看第一个问题:把一张50元的换成面额较小的有多少种方法?为了便于有序思考,避免发生重复或遗漏,仍然采用列举的方法. 方法序号 20元 10元 5元 1元 (单位:张) 1 2 1 0 0 2 2 0 2 0 3 2 0 1 5 4 2 0 0 10 5 1 3 0 0 6 1 2 2 0 7 1 2 1 5 8 1 2 0 10 9 1 1 4 0 10 1 1 3 5 11 1 1 2 10 12 1 1 1 15 13 1 1 0 20 14 1 0 6 0 15 1 0 5 5 16 1 0 4 10 17 1 0 3 15 18 1 0 2 20 19 1 0 1 25 20 1 0 0 30 21 0 5 0 0 22 0 4 2 0 23 0 4 1 5 24 0 4 0 10 25 0 3 4 0 26 0 3 3 5 27 0 3 2 10 28 0 3 1 15 29 0 3 0 20 30 0 2 6 0 31 0 2 5 5 32 0 2 4 10 33 0 2 3 15 34 0 2 2 20 35 0 2 1 25 36 0 2 0 30 37 0 1 8 0 38 0 1 7 5 39 0 1 6 10 40 0 1 5 15 41 0 1 4 20 42 0 1 3 25 43 0 1 2 30 44 0 1 1 35 45 0 1 1 40 46 0 0 10 0 47 0 0 9 5 48 0 0 8 10 49 0 0 7 15 50 0 0 6 20 51 0 0 5 25 52 0 0 4 30 53 0 0 3 35 54 0 0 2 40 55 0 0 1 45 56 0 0 0 50可见,的确有56种方法。
不过,想用列举的方法解决第二个问题,把一张100元的换成面额较小的都列举出来,可就不怎么方便了,因为方法实在太多那么,有没有一种办法,能把方法总数算出来呢?有,可以用递推的方法要“递推”就要有“递推公式",要找到“递推公式”就要有适当的符号.我们用A、B、C、D、E分别表示1元、5元、10元、20元、50元纸币用An、Bn、Cn、Dn、En分别表示把n元纸币换成这种纸币和比它面额小的纸币一共有多少种方法为了熟悉这些符号,不妨把前面提到过的那些已知结果和问题,用这些符号表示一下:A5=1,表示1张5元的换成1元的,有1种方法.B10=3,表示1张10元的换成5元、1元的,有3种方法C20=8,表示1张20元的换成10元、5元、1元的,有8种方法D50=?表示把1张50元的换成20元、10元、5元、1元的,即面额较小的有多少种方法?E100=?表示把1张100元的换成50元、20元、10元、5元、1元的,即面额较小的有多少种方法?要找到“递推公式”,先从Bn入手.比如B10,表示把1张10的换成5元的和1元的方法总数这个总数里面包括两种情况,一种是全都是1元的方法总数,即A10;另一种是至少有1张5元的方法总数,那就要从10元里先减去5元,即B10-5,所以,B10=A5+B10-5。
推而广之,就得到递推公式:Bn=An+Bn—5,同理,Cn=Bn+Cn-10,Dn=Cn+Dn—20,En=Dn+En-50此外还要补充说明三点:1、因为无论多少钱,换成1元的方法都只有1种,所以当下标n为正整数时,An=1.2、当下标n为0时,规定A0=1、B0=1、C0=1、D0=1、E0=13、当下标n为负数时,规定A负数=0、B负数=0、C负数=0、D负数=0、E负数=0现在,我们就可以用“递推法”解决前面的问题了为了熟悉一下这种方法,先把上面用列举法解决过的问题:把一张50元的换成面额较小的方法有多少种?即求D50=?再做一遍第一步:根据Bn=An+Bn—5,B50=A50+B45=A50+A45+B40=A50+A45+A40+B35=A50+A45+A40+…+A10+A5+B0,可见A的下标从50每次递减5,一直减到等于5,说明从A50到A5共有50÷5=10项,而An恒等于1,B0=1,所以B50=10+1=11第二步:根据Cn=Bn+Cn-10,C50=B50+C40=B50+B40+C30=B50+B40+B30+C20=B50+B40+B30+B20+C10=B50+B40+B30+B20+B10+C0,其中B50=11,从上一步B50的表达式可以想到,B40比B50会少A50、A45两项,即少2,所以B40=11-2=9;同理,B30=9—2=7,B20=7-2=5,B10=5-2=3;而C0=1,所以C50=11+9+7+5+3+1=36.第三步:根据Dn=Cn+Dn-20,D50=C50+D30=C50+C30+D10=C50+C30+C10+D—10,其中C50=36,与上一步的C50相比,C30少了B50、B40两项,C10又少了B30、B20两项,所以C30=36—(11+9)=16,C10=16-(7+5)=4,而D-10=0,于是D50=36+16+4+0=56,与“列举法”得到的结果相同。
现在用“递推法”解决第二个问题:把一张100元的换成面额较小的方法有多少种?即求E100=?第一步:B100=A100+A95+A90+…+A10+A5+B0=100÷5+1=21.第二步:C100=B100+B90+B80+…+B20+B10+C0,其中B100=21,B90比B100少了A100、A95两项,即少2,所以B90=21—2=19;同理,B80=19-2=17,B70=17-2=15,…,B20=7-2=5,B10=5-2=3;而C0=1,于是C100=21+19+17+15+13+11+9+7+5+3+1=121第三步:D100=C100+C80+C60+C40+C20+D0,其中C100=121,从上一步C100的表达式可以想到,C80会比C100少前面两项,所以C80=121-(21+19)=81;同理,C60=81—(17+15)=49,C40=49-(13+11)=25,C20=25-(9+7)=9;而D0=1,于是D100=121+81+49+25+9+1=286第四步:E100=D100+E50,其中D100=286,为了求E50先求D50,D50=C50+C30+C10+D-10,从第二步C100的表达式可以想到,C50会比C100少前面5项,所以C50=121-(21+19+17+15+13)=36;同理,C30比C50少2项,C10比C30少2项,所以C30=36—(11+9)=16,C10=16-(7+5)=4;而D-10=0,于是D50=36+16+4+0=56。
E50=D50+E0,其中D50=56,E0=1,所以E50=56+1=57.最后,E100=D100+E50=286+57=343.即,把一张100元的换成面额较小的方法有343种上面,把1张50元纸币换成1元、5元、10元、20元纸币,究竟有多少种情况的问题,用的。












