#P2038. Sum digMultiplication

Sum digMultiplication

题目描述

给定一个nn,求出11~nn所有数的数位积的和,结果对 998244353998244353取余,就是把11~nn的每一个数字的每一位相乘再求和
换句话说求:

$$\left (\sum_{i=1}^{n}\prod_{k=1}^{cnt_{i}}d_{k} \right )\bmod 998244353 $$

dkd_{k}表示数字ii的第kk位,ii的数位为dig(i)dig(i),ii的每一位为d1,d2,...,ddig(i)cntid_{1},d_{2},...,d_{dig(i)},cnt_{i}为数字ii的数位个数
比如求87348734的数位积就是: d1=4,d2=3,d3=7,d4=8,cnt8734=4d_{1}=4,d_{2}=3,d_{3}=7,d_{4}=8,cnt_{8734}=4

$$\prod_{k=1}^{cnt_{8734}}d_{k} =4\times 3\times 7\times 8=672 $$

输入格式

测试用例的第一行也是唯一一行包含一个整数 nn (1n1061 \le n \le 10^{6})

输出格式

输出11~nn所有数的数位积的和,结果对998244353998244353取余

样例

10
45
$$\left (\sum_{i=1}^{10}\prod_{k=1}^{cnt_{i}}d_{k} \right )\bmod 998244353=(1+2+3+4+5+6+7+8+9+0)\bmod 998244353=45 $$

image