整理一下某咕日报内容。
时刻告诉自己,我好菜啊。菜到啥都不会证,只能硬背。。。
先热热身,欧拉筛:
通过不扫描它的重复因子来达到线性。
具体说就是记录一个数的最小质因子。
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 1pmod p
]
扩展欧拉定理:
如果(b>phi(p)) 即使(a,p)不互质,
[a^bequiv a^{bmod phi(p)+phi(p)}pmod p
]