オンラインプログラミング問題で学習Questions

「ryin.me」のプログラミング学習版です。オンラインでプログラミング問題を解いて学習することができます。言語はRuby, Python, PHP, Perl, Node.js, C, C++, Java, C#, VBなどに対応しています。プログラムはサンドボックス上で一時保存・実行後に破棄されます。

お知らせ


NEW!! 問題16「トップ3」、問題15「文字列が含まれるか」
 

問題一覧

  Click!!

■ 応用01:自動販売機のおつり

自動販売機のおつりを求める問題です。
以下のように、コンマ区切りの2つの数字が複数行入力として与えられます。
140,500
120,200
100,980
150,549
:
a,b

aは商品の値段(円)、bは投入する金額(円)とします。
ただし(1<=a<=b, b<1000)とします。 各行のお釣りをもとめて、出力してください。
おつりの求め方と出力ルールは以下の通りです。

■ ルール
各硬貨は500円、100円、50円、10円、5円、1円が存在するとして、
それぞれおつりの硬貨が足りなくなることはないとします。
140円の商品に対して、500円を投入したとき、
おつりは、
500 - 140 = 360(円)となります。
各硬貨の数は 500円✕0枚、100円✕3枚、50円✕1枚、10円✕1枚、5円✕0枚、1円✕0枚となります。 この時の出力は、
(出力例1)
500:0,100:3,50:1,10:1,5:0,1:0
となります。

すべての行に対して出力をしてください。
(出力例2)
500:0,100:3,50:1,10:1,5:0,1:0
500:0,100:0,50:1,10:3,5:0,1:0
500:1,100:3,50:1,10:3,5:0,1:0
500:0,100:3,50:1,10:4,5:1,1:4
:
各行のフォーマットは以下のとおりです。
500:(500円玉の個数),100:(100円玉の個数),50:(50円玉の個数),10:(10円玉の個数),5:(5円玉の個数),1:(1円玉の個数)


※なるべく大きい値の硬貨を使い、硬貨の総数が最も少なくなるように求めてください。

ソースコード

言語:

標準入力

言語別入出力サンプルコード

標準出力