整理一下某咕日报内容。
时刻告诉自己,我好菜啊。菜到啥都不会证,只能硬背。。。
先热热身,欧拉筛:
通过不扫描它的重复因子来达到线性。
具体说就是记录一个数的最小质因子。
Code:
flag[1]=1; for(int i=2;i<=n;i++) { if(!flag[i]) prime[++num]=i; for(int j=1;j<=num&&prime[j]*i<=n;j++) { flag[i*prime[j]]=1; if(i%prime[j]==0) break; } }
定义及性质
定义:
欧拉函数:
\(\phi(x)\)
表示\(<x\)的数中与x互质的数的个数。
欧拉函数是积性函数。
硬背的结论 性质:
通项公式:
\[\phi(x)=x*\prod_{i=1}^k (1-\frac1{p^i})\]
若\(p\)为质数,则
\[\phi(p^k)=p^k-p^{k-1}\]
小于\(n\)的数中,与\(n\)互质的数的总和为
\[\phi(n)*n/2 (n>1)\]
欧拉反演:
反正就是
\[f(x)=\sum_{d|n} \phi(d)\]
然后推了一通,最后得到
\[f(x)=x\]
。。。话说这真的有意义吗
欧拉定理:
如果\(a,p\)互质,则:
\[a^{\phi(p)}\equiv 1\pmod p\]
扩展欧拉定理:
如果\(b>\phi(p)\) 即使\(a,p\)不互质,
\[a^b\equiv a^{b\bmod \phi(p)+\phi(p)}\pmod p\]