Tinh ham mu va to hop mod p

    1. #include <bits/stdc++.h>
    2. #define INF 3000000000000000000
    3. #define N 200005
    4. #define range 1000001
    5. #define mod 998244353
    6. #define pb push_back
    7. #define file freopen("file.inp","r",stdin); freopen("file.out","w",stdout);
    8. #define ll long long
    9. #define fi first
    10. #define se second
    11. #define mp make_pair
    12. #define PI 3.1415926535
    13. using namespace std;
    14.  
    15. ll f[1000000];
    16.  
    17. ll mu(ll a,ll n)
    18. {
    19. ll res=a,ans=1;
    20. while (n)
    21. {
    22. if (n%2)
    23. ans=ans*res%mod;
    24. res=res*res%mod;
    25. n/=2;
    26. }
    27. return ans;
    28. }
    29. ll C(ll k,ll n)
    30. {
    31. return f[n] * mu(f[n-k],mod-2) %mod * mu(f[k],mod-2) %mod;
    32. }
    33.  
    34. int main()
    35. {
    36. ios_base::sync_with_stdio(false);
    37. cin.tie(NULL);
    38. cout.tie(NULL);
    39. f[0]=1;
    40. for (int i=1;i<=500005;i++)
    41. f[i]=f[i-1]*i%mod;
    42. int n,k;
    43. cin>>n>>k;
    44. ll ans=0;
    45. for (int j=1;n/j-1>=k-1;j++)
    46. ans=(ans+C(k-1,n/j-1))%mod;
    47. cout<<ans;
    48. }
  1.  

Nhận xét

Bài đăng phổ biến từ blog này

Học về Segment Tree

Sinh Test trong Python va code AC

Các trang luyện code hay !