【二重ループメニュー】> 【活用編:三角形の探索】STEP: 7 お金の支払い (paizaランク C 相当) [難易度: 1917 ±19]
※リンク先へ移動するためには[paiza]へのログインが必要です。
paiza国では、1 円と X 円と Y 円の 3 種類の硬貨しかありません。ちょうど Z 円を支払うとき、支払う硬貨の枚数が最小になるように支払ったときの硬貨の枚数を求めてください。ただし、支払う各硬貨の枚数に制限は無いものとします。
入力値(例)
500 1000 300
出力値(例)
300
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php list($x, $y, $z) = explode(" ", trim(fgets(STDIN))); $ans = $z; for($i = 0; $i <= 1500; $i++) { for($j = 0; $j <= 1500; $j++) { if($x * $i + $y * $j <= $z) { $one = $z - $x * $i - $y * $j; if($i + $j + $one < $ans) { $ans = $i + $j + $one; } } } } echo $ans; ?> |