
数论
_缘之空_
不要害怕落日的黑暗,因为明天的太阳还会照常升起
展开
-
逆元学习笔记
定义 若在mod p意义下,对于一个整数a,有a*b≡1(mod p),那么这个整数b即为a的 乘法逆元,同时a也为b的乘法逆元, 一个数有逆元的充分必要条件是gcd(a,p)=1,此时a才有对p的乘法逆元 运用 主要是用于取模。 模板 费马小定理 long long qkpow(long long x,long long y,long long p){ long long ans=1; while(y){ if(y&1) ans=ans*x%p; x=x*x%p; y>&原创 2020-10-05 14:04:54 · 265 阅读 · 4 评论 -
【模版】欧拉函数
定义 φ(N)表示N的欧拉函数。 φ(N)表示小于N且与N互质的数的个数(包含1)。 求法 对于一个正整数N的素数幂分解N=p1q1 * p2q2 … * pn qn. φ(N)=N*(1-1/p1) * (1-1/2) …*(1-1/pn). 因为容斥原理,所以1~n中除去与n拥有相同质因子的数剩下的与n互质。 化简过程省略。 计算上面的式子,我们只需要分解质因数。 int eular(int n){ int ans=n; for(int i=2;i*i<=n;i++){原创 2020-08-10 20:09:57 · 303 阅读 · 1 评论 -
【模版】素数筛
朴素 void get_prime(int n){ memset(isprime,1,sizeof(isprime)); isprime[1]=0; for(int i=2;i<=n;i++){ if(isprime[i]){ for(int j=i*i;j<=n;j+=i){ isprime[j]=0; } } } } 埃筛 void get_prime(int n){ memset(isprime,1,sizeof(isprime)); isprim原创 2020-08-10 19:40:37 · 170 阅读 · 0 评论