一、性质
1、为质数,
2、,
3、与互素,
4、为奇数时,
5、 欧拉定理
6、 费马小定理
7、小于且与互质的数和为 原理我记得是与n互素的数两两配对能配出n ,好像是叫威尔逊定理
二、应用
计算的个位数。
实际上是求的值,由欧拉定理可知,(口算)因此可将222拆解为4的倍数
三、模板
//时间复杂度O(nlognlogn)
const int N=1e6+10;
int euler[N];
void init()
{
euler[1]=1;
for(int i=2;i<N;++i)
euler[i]=i;
for(int i=2;i<N;++i)
{
if(euler[i]==i) //i不是合数,用每个素数去更新它的倍数的欧拉值
{
for(int j=i;j<N;j+=i)
euler[j]=euler[j]/i*(i-1);//先除后乘防止溢出
}
}
}