[白俊]1748連写1


📖 質問する


https://www.acmicpc.net/problem/1748

💻 マイコード

n=input()
l=len(n)-1

c=0
i=0

while i<l:
    c+=9*(10**i)*(i+1)
    i+=1

c+=((int(n)-(10**l)+1)*(l+1))
print(c)

💡 に答える


コメントブログ
  • 桁が1の場合の全長:9*1
  • 2つの
  • 桁の合計長:90*2
  • 3つの
  • 桁の合計長さ:900*3
    ...
  • このままでは.
    while i<l:
        c+=9*(10**i)*(i+1)
        i+=1
  • 入力の前のビット数と
  • c+=((int(n)-(10**l)+1)*(l+1))
    print(c)
  • 入力ビット数の長さを加算