• ベストアンサー

fortranの練習問題

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文,配列を使うのかなって感じなのですが、よくわからないです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • qhtsige
  • ベストアンサー率45% (9/20)
回答No.2

わかりやすいアルゴリズムは 1残り=支払額 2.10000万円札の枚数=残り/10000 (整数計算であること) 残り=残り- 10000円の枚数×10000 (残りが10000円未満であれば、枚数はゼロになることに注意) 3.5000円札の枚数=残り/5000 残り=残り- 5000円の枚数×5000 以下1000円、500円・・・と繰り返す。 コーディングはそれぞれの段階をIF文で並べることになる。  この方法が枚数合計の最小になることをどのように証明するかが課題として残る。 数学的帰納法でやるのでしょうが。  

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

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

関連するQ&A

専門家に質問してみよう