整数を下から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 より大きくなるまで続けます。