费马小定理和欧拉定理

本文介绍了定理1,即当a与p互素时,a对p取余的运算结果等价于1到p-1的所有整数置换。通过费马小定理和欧拉定理,探讨了素数条件下的数学性质,包括欧拉phi函数的应用实例和证明。还提供了相关定理如欧拉函数的性质、互素定理以及欧拉函数的计算方法。涉及的习题展示了如何运用这些理论解决实际问题。
摘要由CSDN通过智能技术生成

定理1:

p为素数,任取1<a<p,对所有的1<i<p,计算a*i modp,所得到的数是1-p-1之间所有整数的一次置换

S={a*i mod p,1<i<p}

S={1,2,3,....p-1}等价

在定理中要求1<a<p这与要求a mod p!=0并不相同,后者的意思是a不能整除p但是a可以比p大,而前者只是后者的一部分;可以说两者是包含关系;

证明思路:

假设存在两个不同的数满足定理,容易知道a与p的gcd为1,可以使用消去律,得到是一个矛盾的结果所以不满足

费尔马小定理

假设p为素数,设a为任意数,则(a^(p-1)-1)mod p=k;

常用来计算a^n (mod p);

eg 3^2018(mod 17)=3^2(mod 17)=9;

定理1成立的条件是a与p互素,如果不满足这个条件其实是不成立的

欧拉定理

设a和n为正整数,gcd(a,n)=1,则(a^φ(n)-1)modp=k;

定理2:欧拉phi函数

(返回1<b<n中与p互为素数的个数)

φ(n)={b:1<b<n且gcd(b,n)=1}

性质φ

(1)如果p是素数,则φ(p)=p-1;

   φ(p^k)=p^k-p^(k-1);(与p不互素,其实就是p的倍数,p,2p,3p...p^(k-1)*p;)

定理3:

如果gcd(a,n)=1,且gcd(a,m)=1则gcd(a,mn)=1

定理4:

欧拉phi函数公式(积性函数)

设m和n是互素的正整数,则φ(mn)=φ(m)*φ(n);

推论1:

m=素数指数的乘积;

φ(m)=分别素数指数的乘积的phi函数相乘

推论2:

m=素数指数的乘积;

φ(m)=m*分别(1-素数指数的底的倒数)的相乘

习题:

1.设p=23,a=3使用费马小定理计算a^2019mod p?

2019=22*91+17;

3^2019mod 23=3^17mod23;

3^3mod23=4;

3^6mod23=4*4mod 23=16;

3^8mod23=4=9*4*4mod 23=6;

3^16mod23=6*6mod 23=13;

3^17mod 23=3*13mod 23=16;

2使用费尔马小定理求解同余方程(x^50-2)mod 17=k;

50=17*2+16;

原式=(x^16-2)mod17

所以

x=2^(1/16)mod 17;

3请证明13整除2^70+3^70;

证明:

2^70mod13,

由费尔马小定理得

(1)2^70mod 3=2^(12*5+10)mod13=2^10mod13=10

(2)3^70mod13=3^(12*5+10)mod13=3^10mod13=3

所以

(1)+(2)=13,即可被13整除

因此得以证明;

4使用欧拉定理计算2^100000mod 55;

φ(55)=40;

所以(2^40-1)mod p=k;

100000=40*2500;

所以2^100000mod 55=2^0mod55=1;

5 手动计算7^1000的最后两个数位是什么?

假设只取小数点左两位

7^1=07, 7^2=49, 7^3=43, 7^4=01

7^5=07,      7^6=49, 7^7=43, 7^8=01;

...

由此可以找出规律

4个为一周期

1000=4*250;

所以7^1000的最后两位为01;

6设p为素数,计算(p-1)!modp并找出规律,写成定理,并给出证明

p=2

(p-1)!modp=   1mod 2=1;

p=3

(p-1)!modp=   1*2mod 3=2;

p=5

(p-1)!modp=   1*2*3*4mod 5=4;

p=7;

(p-1)!modp=   1*2*3*4*5*6mod 7=6;

...

由此可以发现规律

(p-1)!modp=p-1;

定理:如果p为素数,(p-1)!modp=p-1;

证明:

p=2,命题显然成立;

p=3,命题显然成立;

假设B中被p除余一的数是γa:

一若γ=1,则γa=a,它被p除余a,又因为a不等于1,所以γ=1不成立;

二若γ=p-1,则γa=(p-1)a,它被p除余p-a,又因为a不等于p-1,所以γ=p-1不成立;

由一二三知γ≠a且a,γ∈A。

a不同时,γ也相异;若a1≠a2, a1,a2∈A,且γa1≡γa2≡1(mod p),因,γa1,γa2∈B,而B中的元素关于mod p不同余,可见a1≠a2,则γ1≠γ2。

即A中的每一个a均可找到与其配对的y,γ∈A使ay≡1(mod p),

又,a不同时,γ也相异。

因此,A中的偶数个(p-3个)元素可以分成(p-3)/2个二元组(a,y),每个二元组都满足ay≡1(mod p),

∴ 1×2×3×4....(p-2)≡1(mod p)

p-1≡-1(mod p)

∴ (p-1)!≡-1(mod p)

从而p可整除(p-1)!+1

假如p不是素数

当p=4时(p-1)!modp=1*2*3mod4=2;显然结论不成立

7 编写python程序完成欧拉函数phi的计算,即输入正整数n计算并返回φ(n)

def euler_function(n):
    j = 0
    """欧几里得算法求是否与n互素"""
    for i in range(2, n):
        a = n
        q = i
        r = a % i
        while r != 1 and r != 0:
            a = int(q)
            q = int(r)
            r = int(a) % int(q)
        """如果互素则计数+1"""
        if r == 1:
            j += 1
        elif r == 0:
            pass
    print(j)


if __name__ == '__main__':
    """主函数进行调用"""
    n = int(input("请输入欧拉函数的n"))
    euler_function(n)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值