`
yzmduncan
  • 浏览: 330392 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

数论——欧拉函数与相关定理

阅读更多

    一个正整数n的欧拉函数定义为:在1到n-1之间和n互素的数的个数。

    欧拉函数公式:

phi(n)=n(1-1/p1)(1-1/p2)(1-1/p3)...(1-1/pk),其中pi为n的素因子。

    例如,phi(12)=12(1-1/2)(1-1/3)=12*1/2*2/3=4。

 

相关定理

 

   欧拉定理

   对于任意正整数n>1, a^phi(n)=1 (mod n), a<n且a与n互质。可以从元素的幂去证明。

   费马定理:若p是素数,则 a^p-1=1 (mod n) ,显然是欧拉定理的推论。

   GCD递归定理

       对任意的非负整数a和任意正整数b有:

   gcd(a,b) = gcd(b,a%b)

定理1

    若a和b是不都为0的任意整数,则gcd(a,b)是a与b的线性组合集合{ax+by,x,y属于整数}中最小的正元素。

定理2

  (元素的幂)一个正整数n有原根,则它恰好有phi(phi(n))个原根。

    所谓原根,即给出集合zn,zn的元素为小于n且与n互素的数。若n中的某个元素g的幂模n产生的群的个数为n-1,则g称为zn的原根。比如对模7,3就是一个原根,2不是。

定理3

    如果对模n存在1的非平凡平方根,则n是合数。(这个定理为Miller-Rabin素数测试提供依据)

    即对方程 x^2 = 1 (mod n),方程的解除了1和n-1两个平凡根之外,还有其它的根,那么n肯定是合数。

 

附上求欧拉函数的代码

 

//返回1——n的欧拉函数
void Euler2(__int64 n)
{
    getPrime(n);
    int i,j;
    for(i = 1; i <= n; i++)
        PHI[i] = i;
    for(i = 2; i <= n; i++)
    {
        if(isPrime[i]==0)
        {
            for(j = i; j <= n; j += i)
                PHI[j] = PHI[j]/i*(i-1);
        }
    }
}

//返回一个数的欧拉函数
__int64 Euler(__int64 n)
{
    __int64 i;
    __int64 result = n;
    __int64 t = (__int64)sqrt(n*1.0);
    for(i = 2; i <= t; i++)
    {
        if(n%i==0)
        {
            result = result/i*(i-1);
            while(n%i==0)
                n = n/i;
        }
    }
    if(n>1)
        result = result/n*(n-1);
    return result;
}

 

分享到:
评论

相关推荐

    大数学家——欧拉.pdf

    然而,我可以根据“大数学家——欧拉”这一标题和描述中提到的信息,展开论述关于数学家欧拉的知识点。 莱昂哈德·欧拉(Leonhard Euler,1707年4月15日-1783年9月18日)是一位瑞士数学家和物理学家,他对数学、...

    数论算法讲义——西电版

    欧拉函数φ(n)给出了小于或等于n且与n互质的正整数的数量,费马小定理则指出,如果p是素数,且a不是p的倍数,则a^(p-1) ≡ 1 (mod p)。这两个定理在计算和证明中都有着广泛应用。 数论算法还涉及到大整数的快速幂...

    数论学习系列之取整函数.pdf

    在数论中,取整函数经常被用来定义其他函数,比如欧拉函数、莫比乌斯函数等。它也是研究素数分布、整数划分等数论问题的基础工具之一。例如,研究素数的定理——素数定理,就可以用取整函数来表达,它说明了不大于...

    哈代数论:A Introduction to the theory of numbers

    《哈代数论》是一部涵盖了数论诸多分支的经典之作,从素数理论到无理数、同余与费马小定理,再到二次域、不定式、算术函数与分解理论,乃至现代数论的重要课题——椭圆曲线,每一部分都深入浅出,不仅适合数学专业...

    《初等数论》第四章习题答案.rar

    欧拉定理进一步扩展了这一概念,它给出了`φ(m)`(Euler's totient function,欧拉函数)与模`m`下`a`的乘法逆元的关系。这些定理在计算模幂和验证数的素性时非常有用。 这个压缩包中的习题答案涵盖了以上所有主题...

    ACM-数论基础_张君达编

    第二章讲述了初等数论的原始方法——带余数法和算术基本定理。第三章介绍了高斯函数的基本性质以及相关的技巧和方法。第四章和第五章分别涉及了不定方程和同余理论及其应用,这些都是初等数论的基础内容。第六章讨论...

    数论中的基本方法(English)

    - **算术函数的性质**:首先介绍了算术函数的基本性质,如欧拉函数、莫比乌斯函数等。 - **除数函数的研究**:进一步研究了除数函数的性质,以及这些函数在数论中的应用。 - **质数分布的经典定理**:本书中还证明了...

    《数论在密码上的应用》

    4. **欧拉定理**:对于任意两个互质的整数a和n,有a^φ(n) ≡ 1 (mod n),其中φ(n)是欧拉函数,表示小于等于n的正整数中与n互质的数的数量。欧拉定理扩展了费马小定理的应用范围。 #### 三、Diffie-Hellman 密钥...

    大数据-算法-最小公倍数的和函数.pdf

    例如,除数函数r(n)计算一个数n的所有正约数的个数,欧拉函数φ(n)计算与n互素的正整数的数量,而莫比乌斯函数μ(n)则在n为完全平方数时取0,在n为合数时取-1,而在n为质数幂时取1。莫比乌斯变换和迪利克雷卷积是...

    Foundations Of Differential Calculus - Euler.pdf

    欧拉的贡献不仅限于微分学,他的工作贯穿于许多数学分支,如初等几何的欧拉线、多面体的欧拉定理、立体解析几何的欧拉变换公式、数论中的欧拉函数、变分法的欧拉方程以及复变函数的欧拉公式。他的工作为后世数学家...

    数论模板精心整编

    根据提供的文档信息,我们可以整理出一系列与数论相关的知识点,并对每个部分进行详细的解析和解释。 ### 1. 负数取模 在计算机科学中,取模运算通常用于获取除法运算的余数。当涉及到负数时,取模操作可能会有...

    关于数论函数方程Φ(Φ(n) ) =2ω(n)的可解性问题研究 (2012年)

    这里涉及到了两个重要的数论函数——欧拉函数Φ(n) 和质因数个数函数ω(n)。 - **欧拉函数Φ(n)**:指的是在序列1,2,...,n中与n互质的整数的个数。例如,Φ(6)=2,因为只有1和5与6互质。 - **质因数个数函数ω(n)**...

    2017221302006_周玉川_第三次实验报告1

    实验结果通过两种方法——扩展欧几里得算法和欧拉定理计算得到,并进行了比较。 实验代码中,`repeatedSquareAlgorithm`实现了基于快速幂的欧拉定理求逆元,而`extendsEuclidenAlgorithm`则执行了扩展的欧几里得...

    RSA的实现(有源代码)

    然后,计算欧拉函数φ(n)=(p-1)*(q-1),选取一个与φ(n)互质的整数e作为公钥的加密指数,通常e取为65537。再找一个满足条件1φ(n)且d*e ≡ 1 mod φ(n)的整数d作为私钥的解密指数。这样的d存在,因为根据欧拉定理,...

    代数与编码

    2. **数论原理**:探讨了数论的基本概念,如整除性、同余、模算术、欧拉函数、中国剩余定理等,这些是构建现代加密算法的核心理论。 3. **编码理论**:介绍了纠错码、循环码、BCH码、Reed-Solomon码等编码技术,...

    RSA.rar_rsa_rsa java

    1. **公钥与私钥**:RSA的核心是两对密钥——公钥和私钥。公钥用于加密数据,可以公开给任何人;私钥用于解密数据,必须保密。这种特性使得RSA适用于远程身份验证和数据传输安全。 2. **大数因子分解**:RSA的安全...

    IOI国家集训队论文集1999-2019

    骆 骥 -《由"汽车问题"浅谈深度搜索的一个方面——搜索对象与策略的重要性》 毛子青 -《动态规划算法的优化技巧》 俞 玮 -《基本动态规划问题的扩展》 张一飞 -《求N!的高精度算法》 ## 2002 戴德承 -《退...

    密码学--RSA加密

    欧拉函数φ(n)表示小于或等于n且与n互质的正整数个数,对于两个素数p和q,有φ(pq) = (p-1)(q-1)。费马小定理指出,如果a和n互质,则a^(φ(n)) ≡ 1 mod n。 ### 密钥生成 1. **选择素数**: 首先随机选取两个大...

    Syclover密码学入门1

    数论研究整数的性质,包括同余、模运算、逆元、欧拉定理和中国剩余定理等概念。初学者可以通过《密码编码学与网络安全——原理与实践》一书的相关章节学习数论。掌握基本概念后,利用Python编写小程序验证数学公式的...

    算法分析设计密码算法.ppt

    在RSA中,选取两个大素数p和q,它们的乘积n=p*q,欧拉函数φ(n)=(p-1)*(q-1),并找到两个整数e和d,满足e*d mod φ(n) = 1,e是公钥的一部分,d是私钥的一部分。加密过程是将明文m按模e计算,得到密文c=m^e mod n,...

Global site tag (gtag.js) - Google Analytics