・小銭払い                              GAI 氏

 100円と500円硬貨で1000円を支払う方法は、

  1.500円玉2枚  、2.500円玉1枚と100円玉5枚  、3.100円玉10枚

以上の3通り可能。では、10円、50円、100円硬貨で1000円を支払う方法は?

 また、1、5、10、50、100、500円硬貨で1000円を支払う方法は?

 もちろん硬貨の中には使用しない種類があっても構わないものとして、それぞれの硬貨は
十分多くあるものとする。


 らすかるさんからのコメントです。(平成27年9月28日付け)

・ 1円硬貨でn円を表す方法は1通り → 5n円を表す方法も1通り

・ 1円硬貨と5円硬貨で5n円を表す方法は、Σ[k=0〜n]1=n+1通り
 → 10n円を表す方法は、Σ[k=0〜2n]1=2n+1通り

・ 1円硬貨と5円硬貨と10円硬貨で10n円を表す方法は、Σ[k=0〜n](2k+1)=(n+1)2通り
 → 50n円を表す方法は、Σ[k=0〜5n](2k+1)=(5n+1)2通り

・ 1円硬貨と5円硬貨と10円硬貨と50円硬貨で50n円を表す方法は、
 Σ[k=0〜n](5k+1)2=(n+1)(50n2+55n+6)/6通り
 → 100n円を表す方法は(2n+1){50(2n)2+55(2n)+6}/6=(2n+1)(100n2+55n+3)/3通り

・ 1円硬貨と5円硬貨と10円硬貨と50円硬貨と100円硬貨で100n円を表す方法は、
 Σ[k=0〜n](2k+1)(100k2+55k+3)/3=(n+1)(100n3+240n2+131n+6)/6通り
 → 500n円を表す方法は、(5n+1){100(5n)3+240(5n)2+131(5n)+6}/6
   = (5n+1)(12500n3+6000n2+655n+6)/6通り

・ 1円硬貨と5円硬貨と10円硬貨と50円硬貨と100円硬貨と500円硬貨で500n円を表す方法
 は、Σ[k=0〜n](5k+1)(12500k3+6000k2+655k+6)/6
   = (n+1)(12500n4+29375n3+15800n2-195n+6)/6通り

 よって、1、5、10、50、100、500円硬貨で1000円を支払う方法は、n=2を代入して248908通り

 10円、50円、100円硬貨で1000円を支払う方法は、1円、5円、10円硬貨で100円を支払う方
法と同じなので、上の途中式から、(n+1)2でn=10として121通り


(コメント) 問題の前半部分について考えてみました。

 x、y、z を0以上の整数として、求める場合の数は、方程式 x+5y+10z=100 の解の
個数である。明らかに、0≦z≦10 なので、

・ z=0 のとき、x+5y=100 より、0≦y≦20 なので、解は、21通り
・ z=1 のとき、x+5y=90 より、0≦y≦18 なので、解は、19通り
・ z=2 のとき、x+5y=80 より、0≦y≦16 なので、解は、17通り
・ z=3 のとき、x+5y=70 より、0≦y≦14 なので、解は、15通り
・ z=4 のとき、x+5y=60 より、0≦y≦12 なので、解は、13通り
・ z=5 のとき、x+5y=50 より、0≦y≦10 なので、解は、11通り
・ z=6 のとき、x+5y=40 より、0≦y≦8 なので、解は、9通り
・ z=7 のとき、x+5y=30 より、0≦y≦6 なので、解は、7通り
・ z=8 のとき、x+5y=20 より、0≦y≦4 なので、解は、5通り
・ z=9 のとき、x+5y=10 より、0≦y≦2 なので、解は、3通り
・ z=10 のとき、x+5y=0 より、x=0、y=0 なので、解は、1通り

 以上から、

  1+3+5+7+9+11+13+15+17+19+21=11(1+21)/2=121(通り)



                         投稿一覧に戻る