【ABC165 B】「1%」を解く【Python3】

コンテスト一覧へ

 

毎年預金額の1%の利子がつく、AtCoder銀行に100円を預けたとき、預金額が初めてX円以上になるのは何年後かという問題です。

提出
x = int(input())
n = 100
ans = 0
while n < x:
    n = int(n*1.01)
    ans += 1

print(ans)

Xの最大値が1018と大きいですが、入力例2の結果が3760なので、特に工夫せずにループ文を回しても大丈夫だということがわかります。

nに100を入力し、「1.01」を掛けていく(小数点以下切り捨て)ループを作ります。

「ans」でカウントし、nがx以上になったらループから抜け出します。

カウント結果「ans」をそのまま出力します。

【ABC165】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。