U283429 一起数奇数!
题目背景
没有题目背景,就是一道简单的数位dp练习题。
同时本题也是 **2020年清华考研第一题的加强版** 。
题目描述
给定正整数 $n$ ,求解 $F(n)$。其中 $F(n)$ 表示**在十进制之下**,所有**小于等于 $ n $ 的正整数的各数位当中,奇数出现次数的和。**
由于这个数字可能大的离谱,所以我们只需要输出他对质数 $998244353$ 取模的结果即可。
输入格式
本题的每一个测试点均为**多组数据输入,请采用文件终止符`EOF`判断结尾。**
每组数据 $1$ 行,包含一个正整数 $n$ 。
每个测试点的数据组数不超过 $100$ 。
输出格式
对于每组数据,输出一行,为 $F(n)$ 对 $998244353$ 取模的值
说明/提示
**以第二组数据 $11$ 为例。**
在 $1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11$ 当中
- $1$ 在数字 $1$ 和 $10$ 中各出现一次,在数字 $11$ 中出现两次
- $3$ 在数字 $3$ 中出现一次
- $5$ 在数字 $5$ 中出现一次
- $7$ 在数字 $7$ 中出现一次
- $9$ 在数字 $9$ 中出现一次
各自数位当中,奇数出现次数的总和为 $8$ , 所以输出的值为 $ F(11) \% 998244353 = 8 $。
## 数据范围
对于所有的数据,保证每一个 $n$ 均为合法的正整数形式。
对于总计 $5\%$ 的测试点,保证 $n \le 10^ 4$。
对于总计 $15\%$ 的测试点,保证 $n\le 10^6$。
对于总计 $30\%$ 的测试点,保证 $n \le 10^{12}$。
对于总计 $50\%$ 的测试点,保证 $n\le 10^{19}$。
**对于 $100\%$ 的测试点,保证 $n \le 10^{100}$。**