中gcd函数_欧拉函数φ(n)的计算及欧拉定理

1 欧拉函数定义

在数论中,对正整数n欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient function,由西尔维斯特所命名)。

例如φ(8) = 4,因为1,3,5,7均和8互质。

也可以从简化剩余系的角度来解释,简化剩余系(reduced residue system)也称既约剩余系或缩系,是m的完全剩余系中与m互素的数构成的子集,如果模m的一个剩余类里所有数都与m互素,就把它叫做与模m互素的剩余类。在与模m互素的全体剩余类中,从每一个类中各任取一个数作为代表组成的集合,叫做模m的一个简化剩余系。

(1,3,5,7)就构成了8的一个简化剩余系。

2 标准分解式

标准分解式:将质因数分解的结果,按照质因数大小,由小到大排列,并将相同质因数的连乘积,以指数形式表示,此种表示法称为标准分解式。

如2020的标准分解式是

0eb2544d951ea796bd08f3fba8cc0db7.png

3 欧拉函数计算方法

(1)先化为标准分解式形式

644d321c9eb5eb2ecabf0411af790487.png

(2)再依照下式规则计算

2a0b3489a592f05a5a1c599136dfdfc5.png

例如:

1d13066a6dd8426160571902110f96ba.png

上面的例子

7a18dbbd378f6951cb189ff1c92d9a4b.png

但是获得大整数的标准分解式却很困难

46f3eccd43bfeccaf04c775d4f4dbba1.png

RSA公钥密码体制的安全性就基于大整数的素数分解问题的难解性、

python代码:

import fractions


def phi(n):
    amount = 0
    for k in range(1, n + 1):
        if fractions.gcd(n, k) == 1:
            amount += 1
    return amount


if __name__ == '__main__':
    print(phi(int(2020)))

4 欧拉定理(码一下)

3304e3ba872fcc0848cd8399b05ffb66.png

5 费马小定理(码一下)

ef2b11ac152e090977eaab6bf17ab82c.png

6 Wilson定理(码一下)

6c407d0892ce6e1b31b2e7ecbd334cea.png

参考:

https://zh.wikipedia.org/wiki/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0​zh.wikipedia.org https://www.bilibili.com/video/BV1k4411L7Ko?p=12​www.bilibili.com
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值