【ABC160 B】「Golden Coins」を解く【Python3】

abc160b

「AtCoder」解説一覧へ

X円を持っている高橋君の嬉しさが最大になるように両替したときの、高橋君の嬉しさを求める問題です。

高橋君は、500円硬貨1枚につき「1000」、5円硬貨1枚につき「5」の嬉しさを得ます。

提出
x = int(input())

ans = 0
ans += (x//500)*1000
x %= 500
ans += (x//5)*5

print(ans)

500円硬貨の方が1円当たりの嬉しさが大きいため、できるだけ500円硬貨に両替したいです。

500円硬貨の最大枚数は、最初に持っている金額を500で割ることで求めることができます。

(//は切り捨て除算です)

これに1000を掛けたものを「答え(ans)」に加えます。

最初に持っている金額を500で割った余りが、残っている金額になるので、次は5円硬貨で同じ処理をします。

残った金額を5で割り、嬉しさ5を掛けて、「ans」に加えます。

「ans」をそのまま出力します。

【ABC160】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です