牛客周赛 Round 98 F
#include "bits/stdc++.h"
using namespace std;
using i64 = int64_t;
constexpr int P = 998244353;
i64 power(i64 a, i64 b, int p = P) {
i64 r = 1;
for (; b > 0; b >>= 1, a = a * a % p) {
if (b & 1) {
r = r * a % p;
}
}
return r;
}
i64 inv(i64 a) {
return power(a, P - 2);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
i64 n;
cin >> n;
i64 ans = n % P * 49 % P;
ans = (ans + (power(10, n) - 1 + P) % P * 40 % P) % P;
ans = (ans + (power(100, n) - 1 + P) % P * inv(99) % P * 400 % P) % P;
ans = (ans + (P - (power(10, n) - 1 + P) % P * inv(9) % P * 80 % P)) % P;
ans = ans * inv(81) % P;
cout << ans << '\n';
return 0;
}
#牛客创作赏金赛#
using namespace std;
using i64 = int64_t;
constexpr int P = 998244353;
i64 power(i64 a, i64 b, int p = P) {
i64 r = 1;
for (; b > 0; b >>= 1, a = a * a % p) {
if (b & 1) {
r = r * a % p;
}
}
return r;
}
i64 inv(i64 a) {
return power(a, P - 2);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
i64 n;
cin >> n;
i64 ans = n % P * 49 % P;
ans = (ans + (power(10, n) - 1 + P) % P * 40 % P) % P;
ans = (ans + (power(100, n) - 1 + P) % P * inv(99) % P * 400 % P) % P;
ans = (ans + (P - (power(10, n) - 1 + P) % P * inv(9) % P * 80 % P)) % P;
ans = ans * inv(81) % P;
cout << ans << '\n';
return 0;
}
#牛客创作赏金赛#
全部评论
相关推荐