This is my blog.
(未完待续)
此篇为基础数论,贴上模版,难以理解的附上数学推导公式。
gcd 最大公约数
  | 
  | 
lcm 最小公倍数
  | 
  | 
欧拉函数
看到一篇不错的博客,讲解了一些欧拉函数的性质。12345678910111213141516int eular(int x){    int  res = x;    for (int i =2; i *i<=x; i++)    {        if (x % i ==0)        {            res = res / i * (i -1);            while (x % i ==0)                x /= i; // 保证i一定是素数        }    }    if (x > 1)        res = res / x * (x -1);    return res ;}
容斥原理
假设只有三个,则为
\(p1+p2+p3-p1p2-p1p3-p2p3+p1p2*p3\)
可以知道总组合有\(2^n\)个,若该项个数为\(k\),则系数为\( (-1)^(k+1) \)
例题
求大于x且与p互质的第k个数
思路
每个数的因子可以用筛法筛出来。然后就是二分查找ans,容斥原理计算ans内有多少个与p互质的数。至于大于x嘛,只需用容斥算出小于等于x的与p互质的数有多少个。
代码
  | 
  | 
后记
数论比数学好玩!
转载请注明出处,谢谢。
愿 我是你的小太阳