欧拉函数

Posted PoorLitt1eThin9

tags:

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

void Euler_Sieve_Method(int * euler, int n) {
    euler[1] = 1;
    for (int i = 2; i < n; i++) {
        euler[i] = i;
    }
    for (int i = 2; i < n; i++) {
        if (euler[i] == i) {
            for (int j = i; j < n; j += i) {
                euler[j] = euler[j] / i * (i - 1);
            }
        }
    }
}
View Code

void Euler_Sieve_Method(int * euler, int n):计算欧拉函数1~n的函数值,保存在euler数组中。

欧拉函数的一些性质:

  通式:

    

  欧拉定理:对于互质的正整数a和n,有aφ(n) ≡ 1 mod n。

  欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。

  设a为N的质因数,若(N % a == 0 && (N / a) % a == 0) 则有E(N)=E(N / a) * a;若(N % a == 0 && (N / a) % a != 0) 则有:E(N) = E(N / a) * (a - 1)。

 

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

欧拉Euler函数

HDU 2588 GCD(欧拉函数)

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

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

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

欧拉筛欧拉函数