首页 > 其他分享 >欧拉定理学习笔记

欧拉定理学习笔记

时间:2023-08-26 16:11:31浏览次数:38  
标签:剩余 gcd pmod 定理 varphi ar 笔记 欧拉 equiv

欧拉定理:

若\(gcd(a,m)=1\),则\(a^{\varphi(m)}\equiv1\pmod{m}\)

证明:令\(r_1,r_2,···,r_{\varphi(m)}\)为模m下的一个简化剩余系,则\(ar_1,ar_2,···,ar_{\varphi(m)}\)也为模m下的一个简化剩余系,令\(f=r_1*r_2*···*r_{\varphi(m)}\),则有:\(f\equiv ar_1*ar_2*···*ar_{\varphi(m)}\pmod{m}\)

即\(f\equiv f*a^{\varphi(m)}\pmod{m}\)

因为\(gcd(r_1*r_2*···*r_{\varphi(m)},m)=1\),所以上式两边同时约去\(f\),就有\(a^{\varphi(m)}\equiv1\pmod{m}\)

证毕。

特别的,当m为质数时\(\varphi(m)=m-1\),为费马小定理

关于简化剩余系的说明:

百度定义:在\(m\)的完全剩余系中与m互素的数构成的子集,如果模m的一个剩余类里所有数都与\(m\)互素,就把它叫做与模\(m\)互素的剩余类。在与模\(m\)互素的全体剩余类中,从每一个类中各任取一个数作为代表组成的集合,叫做模\(m\)的一个简化剩余系。

感性理解:与m互质的数且满足集合内任意\(r_i\not\equiv r_j\pmod{m}\)的最大集合,eg:\(G=\{1,2,3,4\}\)为m=5的一个简化剩余系,\(G=\{2,3,6,9\}\)也为m=5的一个简化剩余系。

性质:当集合\(A=\{a_1,a_2,···,a_n\}\)为关于\(m\)的一个简化剩余系,若\(gcd(k,m)=1\),则集合\(B=\{ka_1,ka_2,···,ka_n\}\)也为关于\(m\)的一个简化剩余系。

证明:因为\(gcd(k,m)=1,gcd(a_i,m)=1\),所以\(gcd(ka_i,m)=1\) (集合中的每个数都与m互质)又因为\(m\not|k(a_j-a_i)\),所以集合中的每个数都不同余,共有n个数,与集合\(A\)一样,所以集合\(B\)为关于m的一个简化剩余系。

证毕

扩展欧拉定理:

\(a^b=\begin{cases}a^{b\mod\varphi(m)}&b\geqslant\varphi(m),gcd(a,m)=1\\a^b&b<\varphi(m)\\a^{b\mod\varphi(m)+\varphi(m)}&b\geqslant\varphi(m),gcd(a,m)>1\end{cases}\)

证明:

我们只考虑当\(b\geqslant\varphi(m)\)的情况

1、当\(gcd(a,m)=1\)时

有\(a^{\varphi(m)}\equiv1\pmod m\)

令\(b=k\varphi(m)+c\),则\(c=b\bmod\varphi(m)\)

即\(a^b\equiv a^c*a^{k\varphi(m)}\equiv a^c*a^{\varphi(m)^k}\equiv a^c*1^k\equiv a^c\equiv a^{b\bmod\varphi(m)}\pmod m\)

1、当\(gcd(a,m)>1\)时

设\(gcd(a,m)=d,m=m_1d,a=a_1d\),则\(gcd(a_1,m)=1\)

有\(a_1^{\varphi(m)}\equiv1\pmod m\)

有\(d^{\varphi(m)}*a_1^{\varphi(m)}\equiv d^{\varphi(m)}\pmod m\)

即\(a^{\varphi(m)}\equiv d^{\varphi(m)}\pmod m\)

下证:\(d^{\varphi(m)}\equiv d^{k\varphi(m)}\pmod m\),\(k\)是整数

因为\(gcd()\)

标签:剩余,gcd,pmod,定理,varphi,ar,笔记,欧拉,equiv
From: https://www.cnblogs.com/pengchujie/p/17658939.html

相关文章

  • 杜教筛学习笔记
    杜教筛学习笔记闲话感觉以前根本没学懂杜教筛,于是重学了一遍,写个笔记记录一下。前置知识依赖于迪利克雷卷积、莫比乌斯反演、整除分块相关知识。记号约定及基本性质约定:\(f*g\)表示\(f\)与\(g\)的迪利克雷卷积,即\((f*g)(n)=\sum\limits_{ij=n}f(i)g(j)\)。\(f\cdot......
  • Linux设备驱动开发详解——学习笔记
    Linux设备驱动概述计算机系统的运转需要软件和硬件共同参与,硬件是底层基础,软件则实现了具体的应用。硬件和软件之间则通过设备驱动来联系。在没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口。而在有操作系统的情况下,驱动的架构则由相应的操作系统来定义。驱动存......
  • Mybatis学习笔记
    一、Mybatis简介二、下载与实现1)下载 官网下载2)实现①创建项目工程,并加入依赖②创建核心configuration.xml配置文件,配置JDBC的连接信息③创建POJO对象④创建POJO对应的mapper映射文件⑤在configuration.xml文件中加载mapper文件⑥测试三、接口实现方式(项目中常用)①创建一个接口②......
  • 运筹学习笔记之列生成
    列生成算法介绍1.什么是列生成列生成算法是一种用于解决大规模线性规划问题的高效算法,它基于单纯形法的思想,通过求解子问题来找到可以进基的非基变量。在列生成算法中,每个变量都代表一列,因此称为列生成算法。该算法的优点在于其高效的计算性能和较好的收敛性,适用于处理大规模、......
  • openGauss学习笔记-51 openGauss 高级特性-列存储
    openGauss学习笔记-51openGauss高级特性-列存储openGauss支持行列混合存储。行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。行、列存储模型各有优劣,建议根据实际情况选择。通常openGauss用于OLTP(联机事务处理)场景的数据库,默认使用行存储,仅对执行复杂......
  • csapp学习笔记——第二章信息的表示和处理
    csapp学习笔记——第二章信息的表示和处理本章主要讲了计算机系统中的数据的表示方法以及在为什么会出现相关的转化问题(floatintdouble等互相转换)。计算机系统中的数字表示方法在现实世界中我们使用的是十进制的表示方法,而在计算机系统中我们则使用的是2进制的表示方法(构造储......
  • 线段树+动态开点权值线段树+主席树学习笔记
    线段树一般用于维护符合结合律的信息。可以用于求区间最大值区间和区间最小值最大子段和甚至于最大负数最小正数之类的信息。事实上线段树只有你想不到,很少有做不到的,算是相当常用的数据结构。下面将结合个人理解和具体题目来讲一讲线段树。[https://www.luogu.com.cn/proble......
  • Makefile学习笔记
    规则:每条规则由三个部分组成分别是目标(target),依赖(depend)和命令(command)。#示例#规则1app:a.ob.oc.ogcca.ob.oc.o-oapp#规则2a.o:a.cgcc-ca.c#规则3b.o:b.cgcc-cb.c#规则4c.o:c.cgcc-cc.c makefile有自动推导功能,有时漏......
  • 《算法笔记》树与二叉树专题练习
    1、复原二叉树(由前序和中序求后序)题目描述小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。输入输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写......
  • 【学习笔记】二维偏序
    看着名字挺高级的就来学一下awa二维偏序是解决这样子的问题:有\(n\)个点,每一个点都有两个属性\(a,b\),且满足\[\left\{\begin{aligned}&i<j\\&a_i\lea_j\\&b_i\leb_j\end{aligned}\right.\]然后去求一些奇奇怪怪的问题解法是离散化后排序然后用两个树状数组来维护......