欧拉函数

简介:

欧拉函数: 是少于或等于n的数中与n互质的数的数目

欧拉函数的值  通式:Euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。Euler(1)=1(唯一和1互质的数(小于等于1)就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3那么Euler(12)=12*(1-1/2)*(1-1/3)=4;

Eg :

Euler(12) = 4,与12互质的数有1 5 7 11,所以Euler(12) = 4

具体代码实现:

///欧拉公式的延伸:一个数的所有质因子之和是euler(n)*n/2
int Euler(int m)
{
    int ret = m;
    for(int i=2; i*i<=m; i++)
    {
        if(m%i == 0)
            ret -= ret/i;
        while(m%i == 0)
            m /= i;
    }
    if(m > 1)
        ret -= ret/m;
    return ret;
}


目录
相关文章
|
6月前
|
机器学习/深度学习
分解质因子+欧拉函数
分解质因子+欧拉函数
30 0
|
12月前
|
C++
约数个数和欧拉函数
约数个数和欧拉函数
78 0
欧拉降幂(广义欧拉降幂)
欧拉降幂(广义欧拉降幂)
|
机器学习/深度学习 算法
欧拉函数算法的实现
欧拉函数算法的实现
欧拉函数算法的实现
(公式)用欧拉公式推导三角函数恒等式
(公式)用欧拉公式推导三角函数恒等式
240 0
(公式)用欧拉公式推导三角函数恒等式
|
人工智能
欧拉函数
笔记
95 0
欧拉函数
|
算法
数学知识:欧拉函数
复习acwing算法基础课的内容,本篇为讲解数学知识:欧拉函数,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
164 0
数学知识:欧拉函数