プロが教えるわが家の防犯対策術!

fortran90/95 プログラミングの問題の回答例を知りたいです。
問題
10000,5000,1000円札,500,100,50,10,1円硬貨が十分にあるとする。
支払額を読み込み、その額を最も少ない数の通貨で支払うにはどうすればいいか。
例えば25483円を最も少ない通貨で支払う場合
10000円札2枚,5000円札1枚,100円硬貨4枚,50円硬貨1枚,10円硬貨3枚,1円硬貨3枚である。

if文,do文,配列を使うのかなって感じなのですが、よくわからないです。
よろしくお願いします。

A 回答 (2件)

わかりやすいアルゴリズムは


1残り=支払額
2.10000万円札の枚数=残り/10000 (整数計算であること)
残り=残り- 10000円の枚数×10000
(残りが10000円未満であれば、枚数はゼロになることに注意)
3.5000円札の枚数=残り/5000
残り=残り- 5000円の枚数×5000

以下1000円、500円・・・と繰り返す。
コーディングはそれぞれの段階をIF文で並べることになる。 
この方法が枚数合計の最小になることをどのように証明するかが課題として残る。
数学的帰納法でやるのでしょうが。  
    • good
    • 0

「Fortran が」わからないのですか? つまり, 「自分ではどう計算すればいいかわかる (し実際に計算できる) けど, それを Fortran で書くことができない」のですか?



しかし, 5円玉がかわいそうだ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!