#AT2063. C - digitnum

C - digitnum

当前没有测试数据。

C - 数字个数

分数:$300$ 分

问题描述

给定一个整数 $N$,解决以下问题。

定义 $f(x)=$ 与 $x$ 有相同位数的小于等于 $x$ 的正整数的个数。
计算 $f(1)+f(2)+\dots+f(N)$ 模 $998244353$。

约束条件

  • $N$ 是一个整数。
  • $1 \le N < 10^{18}$

输入

从标准输入读入以下格式的数据:

NN

输出

输出一个整数,表示答案。


16
73
  • 对于一个介于 $1$ 和 $9$ 之间的正整数 $x$,与 $x$ 有相同位数的小于等于 $x$ 的正整数为 $1,2,\dots,x$。
    • 因此,$f(1)=1,f(2)=2,...,f(9)=9$。
  • 对于一个介于 $10$ 和 $16$ 之间的正整数 $x$,与 $x$ 有相同位数的小于等于 $x$ 的正整数为 $10,11,\dots,x$。
    • 因此,$f(10)=1,f(11)=2,...,f(16)=7$。

最终答案为 $73$。


238
13870

999999999999999999
762062362

计算结果需对 $998244353$ 取模。