2.3 模运算

思维导图:

 

2.3.1 模的定义
  • 模的概念

    • 模运算是一种算术运算,常写作a mod n,表示整数a除以正整数n后的余数。
    • 模数是模运算中的除数n,它决定了结果的范围。
  • 公式表达

    • 对于任意整数a和正整数n,可以将a表示为:a = qn + r,其中0 ≤ r < n,q是整数商,即q = ⌊a/n⌋
    • a除以n的余数是a mod n
  • 示例

    • 11 mod 7 = 4(11除以7的余数是4)
    • -11 mod 7 = 3(-11除以7的余数是3)
同余关系
  • 同余的定义

    • 当两个整数a和b除以同一个正整数n得到相同的余数时,称a和b模n同余。
    • 表达式为a ≡ b (mod n)
  • 同余的性质

    • 如果a mod nb mod n的结果相同,那么a ≡ b (mod n)
    • 如果a = 0 (mod n),则n整除a(n是a的因子)。
模运算的性质
  • 重要性质

    • 模运算符合加法、减法、乘法的性质,但不符合传统的除法性质。
  • 运算规则

    • (a + b) mod n = [(a mod n) + (b mod n)] mod n
    • (a - b) mod n = [(a mod n) - (b mod n)] mod n
    • (a * b) mod n = [(a mod n) * (b mod n)] mod n
  • 幂运算的模

    • 幂运算也可以对模进行,例如7^3 mod 23等于4
应用
  • 编程中的应用
    • 在编程中,模运算用于确保数字在一定范围内,如数组的循环索引。
  • 加密学中的应用
    • 模运算是许多加密算法的基础,特别是在公钥加密和散列函数中。
注意点
  • 模运算中的负数处理有时可能会导致混淆,因为取模的结果总是非负数。

  • 同余并不意味着两个数相等,只是它们除以模数n的余数相等。

这些笔记总结了模运算的基本概念和性质,以及它在数学和计算机科学中的应用。理解这些概念对于研究更高级的数论问题和密码学算法至关重要。

 

2.3.2 同余的性质

性质概览
  • 同余的基本性质
    • 如果n整除a-b(即n | (a - b)),则a和b模n同余,记作a ≡ b (mod n)
    • 如果a ≡ b (mod n),则同样有b ≡ a (mod n);同余关系是对称的。
    • 如果a ≡ b (mod n)b ≡ c (mod n),则有a ≡ c (mod n);同余关系是传递的。
性质(1)的证明
  • 证明同余的条件
    • 如果n整除a-b,则表示存在整数k使得(a - b) = kn
    • 将此等式变形可得a = b + kn
    • 这表明a除以n的余数与b除以n的余数相同,即a mod n = b mod n
实例
  • 同余实例分析
    • 23 ≡ 8 (mod 5) 因为 23 - 8 = 15 = 5 × 3,所以5整除23和8的差,表明它们模5同余。
    • -11 ≡ 5 (mod 8) 因为 -11 - 5 = -16 = 8 × (-2),所以8整除-11和5的差,表明它们模8同余。
    • 81 ≡ 0 (mod 27) 因为 81 - 0 = 81 = 27 × 3,所以27整除81,表明81模27同余于0。
其他性质的论述
  • 性质(2)的说明

    • 同余关系的对称性直接来自于定义。如果a和b模n同余,无论a和b的顺序如何,它们除以n的余数是相同的。
  • 性质(3)的证明

    • 同余关系的传递性意味着如果a同余于b,b同余于c,则a也同余于c。
    • 这可以通过将同余看作“相同的余数”来证明:如果a和b有相同的余数,b和c也有相同的余数,则a和c必然有相同的余数。
注意点
  • 当操作负数时,同余的性质仍然成立,但在具体计算时要注意符号和余数的正负。

  • 在应用同余性质进行证明时,要小心处理中间步骤,避免对模数的误解。

  • 在进行数学证明或编程实现时,这些性质可以简化运算,特别是在处理大数字或者进行模运算优化时。

 

 

2.3.3 模算术运算

模算术基础
  • 定义:模算术运算是在集合{0, 1, …, (n-1)}中进行的算术运算,使用模数n限制结果。
  • 映射特性:运算符(mod n)将所有整数映射到上述集合内。
模算术的性质
  1. 加法:[(a mod n) + (b mod n)] mod n = (a + b) mod n
  2. 减法:[(a mod n) - (b mod n)] mod n = (a - b) mod n
  3. 乘法:[(a mod n) × (b mod n)] mod n = (a × b) mod n
性质证明示例
  • 加法性质证明
    • r_a = (a mod n)r_b = (b mod n),存在整数jk使得a = r_a + jnb = r_b + kn
    • (a + b) mod n = (r_a + jn + r_b + kn) mod n
    • = ((r_a + r_b) + (j + k)n) mod n
    • = (r_a + r_b) mod n
    • = [(a mod n) + (b mod n)] mod n
模算术运算例子
  • 加法和乘法例子
    • (11 mod 8) + (15 mod 8) = 3 + 7 = 10 mod 8 = 2
    • (11 + 15) mod 8 = 26 mod 8 = 2
    • [(11 mod 8) × (15 mod 8)] mod 8 = (3 × 7) mod 8 = 21 mod 8 = 5
    • (11 × 15) mod 8 = 165 mod 8 = 5
幂运算
  • 幂运算可以通过反复的乘法来实现。
  • 例如,11^7 mod 13可以分解为:11^2 mod 13, 11^4 mod 13等,逐步计算并利用之前的结果。
逆元素
  • 加法逆元:对于每个整数x,存在加法逆元y使得(x + y) mod n = 0
  • 乘法逆元:对于每个整数x,可能存在乘法逆元y使得(x × y) mod n = 1
    • 注意,并非所有整数模n都有乘法逆元。
    • 乘法逆元的寻找需要特别注意n的选择,因为这关系到数的互质性。
表2.2示例
  • 加法表(模8):展示了加法运算的结果,表明这种运算是闭合的,并遵循一定规律。
  • 乘法表(模8):显示了乘法运算的结果,同样表现出闭合性和规律性。
  • 逆元素表:说明了如何找到每个数的加法和乘法逆元,但对于乘法逆元,不是所有数都有逆元。
注意点
  • 在实际应用模算术时,对于加法和乘法运算的理解需要细心观察模数的选择和结果的规律性。
  • 逆元素的存在性在某些数论问题中非常关键,特别是在密码学和编码理论中。
  • 理解模算术对于解决同余方程和系统设计至关重要,特别是在涉及密码算法的场景中。

 

 

2.3.4 模运算的性质

定义:
  • 剩余类集合(模n的剩余类): ��={0,1,…,�−1}Zn​={0,1,…,n−1}
    • 每个整数表示一个剩余类: [0],[1],…,[�−1][0],[1],…,[n−1]
    • 定义: [�]={�∣� 是整数且 �≡�(mod�)}[r]={a∣a 是整数且 a≡r(modn)}
剩余类示例(模4):
  • [0]={…,−16,−12,−8,−4,0,4,8,12,16,…}[0]={…,−16,−12,−8,−4,0,4,8,12,16,…}
  • [1]={…,−15,−11,−7,−3,1,5,9,13,17,…}[1]={…,−15,−11,−7,−3,1,5,9,13,17,…}
  • 通常使用最小非负整数代表剩余类,称为模n的k约化
基本性质:
  • 加法和乘法运算符合交换律、结合律和分配律
  • 在 ��Zn​ 中存在加法单位元0和乘法单位元1。
  • 每个元素存在加法逆元。
性质表述(对 ��Zn​ 中的整数适用):
  • (�+�)mod  �=(�+�)mod  �(w+x)modn=(x+w)modn
  • (�×�)mod  �=(�×�)mod  �(w×x)modn=(x×w)modn
  • 加法逆元存在性:如果 (�+�)≡(�+�)(mod�)(a+b)≡(a+c)(modn),则 �≡�(mod�)b≡c(modn)。
特殊性质(当满足附加条件时):
  • 乘法逆元的存在性: 当a与n互素时,即 gcd⁡(�,�)=1gcd(a,n)=1:
    • 如果 (�×�)≡(�×�)(mod�)(a×b)≡(a×c)(modn),则 �≡�(mod�)b≡c(modn)。
    • 乘法逆元 �−1a−1 存在,使得 (�×�−1)≡1(mod�)(a×a−1)≡1(modn)。
注意事项:
  • 当a与n不互素时(如例中的a=6, n=8),用a乘以 ��Zn​ 中的每个元素不会生成完整的剩余类集。
  • 互素条件是乘法逆元存在的关键。
结论:
  • 完整的剩余类集的存在性:
    • 仅当a与n互素时,乘以a会在 ��Zn​ 中产生完整的剩余类集。
    • 如果 gcd⁡(�,�)≠1gcd(a,n)=1,将存在多个 ��Zn​ 中的整数映射到相同的剩余类,导致乘法运算没有唯一逆运算。
实例分析:
  • 乘法逆元示例(模8):
    • 1, 3, 5, 7与8互素,它们在 �8Z8​ 中有乘法逆元。
    • 2, 4, 6与8不互素,没有乘法逆元。

 

 

2.3.5 欧几里得算法

基本概念:

  • 欧几里得算法用于计算两个正整数a和b的最大公约数(gcd)。
  • 算法基于以下原理:gcd(a, b) = gcd(b, a mod b)。

算法流程:

  1. 如果b=0,算法结束,a即为gcd。
  2. 否则,计算a除以b的余数r(即a mod b)。
  3. 将b的值赋给a,将r的值赋给b。
  4. 重复步骤1和2,直到b为0。

实际例子:

  • gcd(55, 22) 的计算过程为:gcd(55, 22) = gcd(22, 11) = gcd(11, 0) = 11。
  • gcd(18, 12) 的计算过程为:gcd(18, 12) = gcd(12, 6) = gcd(6, 0) = 6。

递归定义:

Euclid(a, b)
    if b == 0
        return a
    else
        return Euclid(b, a mod b)

注解:

  • 当我们计算a mod b时,如果存在非零余数r,则gcd(a, b)等同于gcd(b, r)
  • 每一次递归调用都是在寻找更小一组数的最大公约数,直至其中一个数减小到0。
  • 该算法可以迅速收敛,因为每一步都至少减半一个数的大小。

关键点记忆:

  • 欧几里得算法非常高效,特别是对于大数的gcd计算。
  • 递归实现简洁且易于理解。
  • 了解算法的原理有助于深刻理解整数的除法和余数的性质。

 

 

2.3 模运算重点、难点和易错点

重点:

  1. **模运算的定义:**理解模运算的基本定义和性质,包括同余理论。
  2. **欧几里得算法:**了解欧几里得算法的基本原理和实现,能够计算两个整数的最大公约数(GCD)。
  3. **扩展欧几里得算法:**掌握扩展欧几里得算法不仅用于计算GCD,还能找到方程ax + by = gcd(a, b)的整数解x和y。
  4. **模的逆元:**了解如何使用扩展欧几里得算法来找到一个数的模逆元,即对于给定的a和m,找到x使得ax ≡ 1 (mod m)。

难点:

  1. **理解“同余”概念:**同余是模运算的核心,要深刻理解a ≡ b (mod m)表示m整除a-b。
  2. **模运算的性质:**如模加、模乘的性质和运算规则,以及它们与常规算术运算的区别。
  3. **逆元的存在性和唯一性:**逆元不总是存在,它要求a和m互质,理解这一点对于避免错误至关重要。
  4. **复合模运算中的顺序:**在涉及多步模运算时,操作的顺序非常重要,特别是在解决涉及模的方程时。

易错点:

  1. **错误地应用除法规则:**在模运算中,除法需要特别处理,不能简单地将除法转换为乘逆元,必须保证逆元存在。
  2. **混淆模运算与整数除法:**模运算和整数除法是不同的概念,混淆它们会导致错误。
  3. **忽略了模运算的封闭性:**例如,在模m运算下,结果应始终在0到m-1的范围内,不注意这一点可能导致错误结果。
  4. **不正确的模逆元应用:**求模逆元时未检查a和m是否互质,或在不存在逆元的情况下尝试求解。
  5. **忽视算法的停止条件:**在实现欧几里得算法或其扩展版本时,不正确的停止条件可能导致无限循环或错误的答案。

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信 %% 开发者:Matlab科研助手 %% 更多咨询关注天天Matlab微信公众号 ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡研究 1.2.4 水库梯度调度研究 **1.3 路径规划方面** 1.3.1 旅行商问题研究(TSP、TSPTW) 1.3.2 各类车辆路径规划问题研究(vrp、VRPTW、CVRP) 1.3.3 机器人路径规划问题研究 1.3.4 无人机三维路径规划问题研究 1.3.5 多式联运问题研究 1.3.6 无人机结合车辆路径配送 **1.4 三维装箱求解** **1.5 物流选址研究** 1.5.1 背包问题 1.5.2 物流选址 1.5.4 货位优化 ##### 1.6 电力系统优化研究 1.6.1 微电网优化 1.6.2 配电网系统优化 1.6.3 配电网重构 1.6.4 有序充电 1.6.5 储能双层优化调度 1.6.6 储能优化配置 ### 2 神经网络回归预测、时序预测、分类清单 **2.1 bp预测和分类** **2.2 lssvm预测和分类** **2.3 svm预测和分类** **2.4 cnn预测和分类** ##### 2.5 ELM预测和分类 ##### 2.6 KELM预测和分类 **2.7 ELMAN预测和分类** ##### 2.8 LSTM预测和分类 **2.9 RBF预测和分类** ##### 2.10 DBN预测和分类 ##### 2.11 FNN预测 ##### 2.12 DELM预测和分类 ##### 2.13 BIlstm预测和分类 ##### 2.14 宽度学习预测和分类 ##### 2.15 糊小波神经网络预测和分类 ##### 2.16 GRU预测和分类 ### 3 图像处理算法 **3.1 图像识别** 3.1.1 车牌、交通标志识别(新能源、国内外、复杂环境下车牌) 3.1.2 发票、身份证、银行卡识别 3.1.3 人脸类别和表情识别 3.1.4 打靶识别 3.1.5 字符识别(字母、数字、手写体、汉字、验证码) 3.1.6 病灶识别 3.1.7 花朵、药材、水果蔬菜识别 3.1.8 指纹、手势、虹膜识别 3.1.9 路面状态和裂缝识别 3.1.10 行为识别 3.1.11 万用表和表盘识别 3.1.12 人民币识别 3.1.13 答题卡识别 **3.2 图像分割** **3.3 图像检测** 3.3.1 显著性检测 3.3.2 缺陷检测 3.3.3 疲劳检测 3.3.4 病害检测 3.3.5 火灾检测 3.3.6 行人检测 3.3.7 水果分级 **3.4 图像隐藏** **3.5 图像去噪** **3.6 图像融合** **3.7 图像配准** **3.8 图像增强** **3.9 图像压缩** ##### 3.10 图像重建 ### 4 信号处理算法 **4.1 信号识别** **4.2 信号检测** **4.3 信号嵌入和提取** **4.4 信号去噪** ##### 4.5 故障诊断 ##### 4.6 脑电信号 ##### 4.7 心电信号 ##### 4.8 肌电信号 ### 5 元胞自动机仿真 **5.1 拟交通流** **5.2 拟人群疏散** **5.3 拟病毒扩散** **5.4 拟晶体生长** ### 6 无线传感器网络 ##### 6.1 无线传感器定位(Dv-Hop定位优化、RSSI定位优化) ##### 6.2 无线传感器覆盖优化 ##### 6.3 无线传感器通信及优化(Leach协议优化) ##### 6.4 无人机通信中继优化(组播优化)
计算机硬件系统设计_计算机 演讲人 202x-11-11 计算机硬件系统设计-计算机PPT板全文共23页,当前为第1页。 目录 01. 1、课程导学与实验环境 07. 7.mips指令流水线设计(系统结构) 03. 3数据表示实验(组成原理) 05. 5存储系统设计 02. 2数字逻辑基础实验(数字逻辑) 04. 4运算器设计 06. 6mipscpu设计 08. 8.单总线mipscpu设计 计算机硬件系统设计-计算机PPT板全文共23页,当前为第2页。 1、课程导学与实验环境 01 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第3页。 1、课程导学与实验环境 M.94275.CN 2 1.1一小时玩转logisim 3 1.2logisim中的延迟与险象 1 1.0《计算机硬件系统设计》课程导学 6 1.5logisim新手实验( 必做实验 ) 5 1.4logisim常用组件库【线路库看看即可,其它用啥学啥】 4 1.3logisim中的震荡现象 计算机硬件系统设计-计算机PPT板全文共23页,当前为第4页。 1、课程导学与实验环境 1.6logisim作品秀《五级流水cpu+操作系统+应用程序》 1.7educoder在线测试 实验工具知识测试 1.7Educoder在线测试 实验工具知识测试 计算机硬件系统设计-计算机PPT板全文共23页,当前为第5页。 2数字逻辑基础实验(数字逻辑) 02 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第6页。 2数字逻辑基础实验(数字逻辑) 2.1组合逻辑电路设计 2.2同步时序电路设计 2.3小型数字系统设计 数字逻辑知识测试 计算机硬件系统设计-计算机PPT板全文共23页,当前为第7页。 3数据表示实验(组成原理) 03 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第8页。 3数据表示实验(组成原理) 01 3.1汉字编码实验 02 3.2奇偶校验应用实验raid控制器(建设中) 03 3.3海明编码设计实验 04 3.4crc编码设计实验 05 3.5编码流水传输实验 06 数据表示单元测验 计算机硬件系统设计-计算机PPT板全文共23页,当前为第9页。 4运算器设计 04 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第10页。 4运算器设计 A B C D E F 4.1\\t运算器实验基本框架 4.3\\t32位alu设计实验 4.5原码一位乘法器设计 4.2\\t快速加法器实验 4.4\\t阵列乘法器以及乘法流水线设计 4.6补码一位乘法器设计 计算机硬件系统设计-计算机PPT板全文共23页,当前为第11页。 4运算器设计 运算器单元测试 计算机硬件系统设计-计算机PPT板全文共23页,当前为第12页。 5存储系统设计 05 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第13页。 5.1存储系统实验框架 5.2汉字字库存储扩展实验 5.3\\tmipsram设计 5.4\\tmips寄存器文件设计 5.5cache映射机制与逻辑实现 5.6硬件cache机制设计设计实验 5存储系统设计 单击此处添加文本具体内容,简明扼要的阐述您的观点。根据需要可酌情增减文字,以便观者准确的理解您传达的思想。 单击此处添加标题 计算机硬件系统设计-计算机PPT板全文共23页,当前为第14页。 5存储系统设计 存储系统单元测试 计算机硬件系统设计-计算机PPT板全文共23页,当前为第15页。 6mipscpu设计 06 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第16页。 6mipscpu设计 A B C D E F 6.1\\t单周期mips架构 6.3\\t单周期mipscpu设计(8条指令) 6.5\\t多周期mipscpu硬布线控制器设计 6.2\\t多周期mips架构 6.4\\t多周期mipscpu微程序控制器设计 6.6单周期mipscpu设计(24条指令) 计算机硬件系统设计-计算机PPT板全文共23页,当前为第17页。 6.7mips中断处理机制 cpu设计单元测试 CPU设计单元测试 6mipscpu设计 计算机硬件系统设计-计算机PPT板全文共23页,当前为第18页。 7.mips指令流水线设计(系统结构) 07 part one 计算机硬件系统设计-计算机PPT板全文共23页,当前为第19页。 7.mips指令流水线设计(系统结构) 7.5流水线高级调试技巧 e 7.4流水线数据相关处理 d 7.1指令流水线基本概念 a 7.2理想指令流水线设计 b 7.3流水
以下是一个Python课程设计的板: ## 课程设计名称 简单介绍课程设计的名称和主题。 ## 目的 说明课程设计的目的和意义。 ## 学习目标 列出学习目标,例如: - 掌握Python编程语言的基本语法和数据类型 - 能够使用Python编写简单的程序 - 熟悉Python中常用的块和库 ## 预备知识 列出学生需要具备的预备知识,例如: - 了解计算机基础知识 - 掌握编程思维和基本的算法概念 - 熟悉操作系统和命令行终端 ## 内容 按照学习目标,列出课程设计的内容和教学方法,例如: ### 第一章 Python基础 1.1 Python语言简介 1.2 Python开发环境搭建 1.3 Python基本语法和数据类型 1.4 Python控制流程和函数 1.5 课程设计作业 ### 第二章 Python高级编程 2.1 Python面向对象编程 2.2 Python异常处理和调试技巧 2.3 Python常用块和库 2.4 Python GUI编程 2.5 课程设计作业 ### 第三章 Python应用实践 3.1 Python爬虫和数据处理 3.2 Python机器学习和数据分析 3.3 Python网络编程和Web开发 3.4 课程设计作业 ## 作业 列出每章的作业要求和评分标准,例如: - 第一章作业:编写一个Python程序,实现输入两个数,输出它们的和、差、积、商等运算结果。评分标准:代码实现正确、运行无误、注释清晰。 - 第二章作业:编写一个Python程序,实现一个简单的图书借阅管理系统。评分标准:代码实现完整、界面友好、功能齐全。 - 第三章作业:选择一个感兴趣的Python应用场景,如数据分析、Web开发等,编写一个完整的应用程序。评分标准:功能完整、代码规范、思路清晰。 ## 参考资料 列出学生需要参考的教材、网站、论文等资料。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值