CF1359E Modular Stability 题解
注意到,
代码:
#include <bits/stdc++.h>
using namespace std;
const int M = 1e6 + 5, mod = 998244353;
long long jc[M], jcinv[M], ans;
int n, k;
int C(int n, int m)
{
return jc[n] * jcinv[m] % mod * jcinv[n - m] % mod;
}
long long ksm(long long a, int b)
{
long long c = 1;
while (b)
{
if (b & 1) c = c * a % mod;
a = a * a % mod;
b >>= 1;
}
return c;
}
int main()
{
jc[0] = 1;
jcinv[0] = 1;
for (int i = 1; i <= M - 5; i ++ )
{
jc[i] = jc[i - 1] * i % mod;
jcinv[i] = ksm(jc[i], mod - 2);
}
cin >> n >> k;
for (int i = 1; i <= n; i ++ )
{
if (n / i < k) break;
ans = (ans + C(n / i - 1, k - 1)) % mod;
}
cout << ans << endl;
return 0;
}