思路:
对于一个不取模的答案是不是可以转换成11111…k
那11111…是不是
(
1
0
n
−
1
)
/
9
(10^n-1)/9
(10n−1)/9
那我们考虑乘法逆元将原式转换一下,毕竟除法没有取模的运算嘛!
就是求出9的逆元再根据(AB)%p=(A%p*B%p)%p就可以了。
最后将原式再乘上一个k记得取模。
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define ll long long
using namespace std;
const ll mod = 998244353;
ll n, m, k, T;
ll ksm(ll a, ll b)
{
a %= mod;
ll ans = 1;
while(b)
{
if(b & 1)ans = ans * a % mod;
a = a * a % mod;
b >>= 1;
}
return ans;
}
int main()
{
scanf("%lld", &T);
m = ksm(9, mod - 2); //9的逆元
while(T--)
{
scanf("%lld%lld", &n, &k);
printf("%lld\n", (((ksm(10, n) - 1) * m) % mod * k) % mod);
}
return 0;
}