【ABC195 C】「Comma」を解く【Python3】

コンテスト一覧へ

 

整数を下から3桁ごとにコンマで区切る書き方をするとき、1以上N以下の整数を書く場合に、コンマが合計何回書かれるのか求める問題です。

提出
n = int(input())

k = 1
ans = 0

while n>=(1000**k)-1:
    ans += n-(1000**k)+1
    k += 1

print(ans)

入力はNのみです。

999までは、コンマは書かれません。

999999まででは、コンマはNから999引いた数だけ書かれます。

999999999まででは、上記よりコンマが一つ増えるので、「上記の数字」+「Nから999999引いた数」となります。

これを 1000k-1 が n より大きくなるまで続けます。

【ABC195】解説記事リスト

コンテスト一覧に戻る

コメントを残す

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