$f colon mathbb{Z}_{>0} o {0, 1}$ 是关于正整数的十进制表示的函数 。
给你一个正整数 $N$,求 $sum_{i=1}^{N} f(i)$。
记号
$x$ 是正整数。
用 $|x|$ 表示 $x$ 的十进制表示的位数,例如 $|100| = 3$。
用 $x_i$ 表示 $x$ 的十进制表示里从左往右第 $i$ 个数字,$i$ 从 $1$ 开始;例如 $100_1 = 1$,$100_2 = 0$。
用 $p(x, n)$ 表示 $x$ 的前 $n$ 个数字组成的数,即 $p(x, n) := floor{x / 10^{|x| - n}}$,例如 $p(1234, 2) = 12$。
用 $S(x, n)$ 表示 $sum_{i = x cdot 10^n} ^{(x + 1) cdot 10^{n} - 1 }
f(i)$,例如 $S(12, 2) = sum_{i = 1200}^{1299} f(i)$。
用 $T(n)$ 表示 $sum_{i = 10^{n - 1}}^{10^{n} -1} f(i)$,例如 $T(2) = sum_{i = 10}^{99} f(i)$。
采用上述符号,我们有
egin{equation*}
egin{split}
sum_{i=1}^{N} f(i) = f(N) + sum_{i = 1}^{|N| - 1} T(i) + sum_{i = 1}^{N_1 - 1} S(i, |N| - 1) \ + sum_{i = 1}^{|N| - 1} sum_{j = 0}^{N_{i + 1}} S(10 cdot p(N, i) + j, |N| - i - 1)
end{split}
end{equation*}