atcoder#ARC127A. [ARC127A] Leading 1s

[ARC127A] Leading 1s

题目描述

整数 x x 10 10 進表記した時,先頭に並ぶ 1 1 の個数を f(x) f(x) で表すことにします. 例えば,f(1)=1,f(2)=0,f(10)=1,f(11)=2,f(101)=1 f(1)=1,f(2)=0,f(10)=1,f(11)=2,f(101)=1 です.

整数 N N が与えられるので,f(1)+f(2)++f(N) f(1)+f(2)+\cdots+f(N) の値を求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

N N

输出格式

答えを出力せよ.

题目大意

当用十进制表示整数 xx 时,最高位开始连续的1的个数用 f[x]f[x] 表示,例如 f[1]=1f[1]=1f[2]=0f[2]=0f[10]=1f[10]=1f[11]=2f[11]=2f[101]=1f[101]=1

给出了整数N,求 n=1if[i]\sum_{n=1}^i f[i]

  • n1015n \le 10^{15}
11
4
120
44
987654321
123456789

提示

制約

  • 1  N  1015 1\ \leq\ N\ \leq\ 10^{15}
  • 入力される値はすべて整数である

Sample Explanation 1

f(2)=f(3)= =f(9)=0 f(2)=f(3)=\cdots\ =f(9)=0 です. 答えは,f(1)+f(10)+f(11)=4 f(1)+f(10)+f(11)=4 です.