欧拉函数

Posted hnoi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了欧拉函数相关的知识,希望对你有一定的参考价值。

互质:任意自然数a, b,若gcd(a, b) = 1,则a,b互质。

欧拉函数:1~N中与N互质的数的个数被称为欧拉函数,记为φ(N)。

若在算术基本定理中,技术图片

 

公式的证明用到的思想被称为容斥定理。在N的全部质因子上用容斥定理,即可得到1~N中不与N含有任何共同质因子的数的个数,也就是与N互质的数的个数。

 

根据计算式,只需要分解质因数,即可求出欧拉函数。

 1 int phi(int x)
 2     int ans=x;
 3     for(int i=2; i*i<=x; i++)
 4         if(x % i == 0)
 5             ans = ans * (i-1) / i;
 6             while(x % i == 0) x /= i;
 7         
 8     
 9     if(x > 1) ans = ans * (x-1) / x;
10     return ans;
11 

 

以上是关于欧拉函数的主要内容,如果未能解决你的问题,请参考以下文章

欧拉Euler函数

HDU 2588 GCD(欧拉函数)

蓝桥杯必备算法一:欧拉函数

数论之旅4---欧拉函数的证明及代码实现(我会证明都是骗人的╮( ̄▽ ̄)╭)

欧拉函数性质与求法 [数论][欧拉函数]

欧拉筛欧拉函数