数论基础——欧拉函数
定义
对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。
通式
即:
是n(n>0)的质因数.
注意:.
代码
ll eular(ll n)
{
ll ans = n;
for(int i=2; i*i <= n; i++)
{
if(n%i == 0)//i是质因数
{
ans = ans/i*(i-1);
while(n%i == 0)//确保不会出现合数因子
n/=i;
}
}
if(n > 1) ans = ans/n*(n-1);
//因为i是从2开始,所以上面的循环无法判断n是素数的情况,因此在这加个判断
return ans;
}
性质
1.若p为质数,
2.若m,n互质,则
3.若,则
4.欧拉定理:对于互质的m、n,有
5.费马小定理:对于质数p
若n mod p = 0 ,则
若n mod p ≠ 0 ,则
6.小于n且与n互质的数的和:
7.
注: (d|n)指n是d的倍数
来源:CSDN
作者:sqi_王
链接:https://blog.csdn.net/weixin_45718149/article/details/104588974