题目描述
整数 N が与えられるので、以下の問題を解いてください。
f(x)= ( x 以下の正整数で、 x と桁数が同じものの数) とします。
f(1)+f(2)+⋯+f(N) を 998244353 で割った余りを求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
N
输出格式
答えを整数として出力せよ。
题目大意
题目描述
定义 f(x) 为不大于 x 且位数与 x 相同的正整数的个数。
给定 N,求 i=1∑Nf(i)mod998244353。
输入格式
一行一个整数 N。
输出格式
一行一个整数,代表结果。
数据范围与提示
对于 100% 的数据,1≤N<1018。
样例 #1 解释:
- 对于 1≤x≤9,f(x)=x。
- 对于 10≤x≤16,f(x)=x−9。
综上,和为 73。
16
73
238
13870
999999999999999999
762062362
提示
制約
- N は整数
- 1 ≤ N < 1018
Sample Explanation 1
- 1 以上 9 以下の正整数 x について、 x 以下の整数で、 x と桁数が同じものは 1,2,…,x です。 - これより、 f(1)=1,f(2)=2,...,f(9)=9 となります。 - 10 以上 16 以下の正整数 x について、 x 以下の整数で、 x と桁数が同じものは 10,11,…,x です。 - これより、 f(10)=1,f(11)=2,...,f(16)=7 となります。 結局、求める答えは 73 です。
Sample Explanation 3
998244353 で割った余りを求めることに注意してください。