博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
模运算
阅读量:5069 次
发布时间:2019-06-12

本文共 1045 字,大约阅读时间需要 3 分钟。

摘自百科:

http://baike.baidu.com/link?url=zKgEVJG6RUV-amBQJzI2Vrip4zP7InbHTFJRCL5nku9rgqVokXY8uWda4rE40Brpt__q2eDcYPvmEU1YUvVjN_

 

运算规则

模运算与基本四则运算有些相似,但是除法例外。其规则如下:
  1. (a + b) % p = (a % p + b % p) % p (1)
  2. (a - b) % p = (a % p - b % p) % p (2)
  3. (a * b) % p = (a % p * b % p) % p (3)
  4.  a ^ b % p = ((a % p)^b) % p (4)
  • 结合律:
    ((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
((a*b) % p * c)% p = (a * (b*c) % p) % p (6)
  • 交换律:
    (a + b) % p = (b+a) % p (7)
(a * b) % p = (b * a) % p (8)
  • 分配律:
    (a+b) % p = ( a % p + b % p ) % p (9)
    ((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)

重要定理

  • 若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11)
  • 若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12)
  • 若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
    (a * c) ≡ (b * d) (%p),(a / c) ≡ (b / d) (%p); (13)

 

应用:

判别奇偶数

不说了

 

判别素数

欧几里得算法()

http://baike.baidu.com/view/1241014.htm

其计算原理依赖于下面的定理:
定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数。 (greatest common divisor)缩写为gcd。
gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)

 

转载于:https://www.cnblogs.com/qlky/p/5020632.html

你可能感兴趣的文章
论演员的自我修养2
查看>>
常用算法大全-贪婪算法
查看>>
Apache Commons CLI 开发命令行工具示例
查看>>
Laravel的生命周期
查看>>
自己编写php框架(一)
查看>>
优化MySchool数据库设计
查看>>
Flink - Checkpoint
查看>>
Apache Kafka源码分析 – Controller
查看>>
查看eclipse ADT SDK JDK版本号
查看>>
保龄球计分
查看>>
在MySql中实现MemberShip的权限管理
查看>>
vim: vs sp 调整窗口高度和宽度
查看>>
预防数据库攻击
查看>>
建立组织级过程性能基线的注意事项
查看>>
coding++:java操作 FastDFS(上传 | 下载 | 删除)
查看>>
一道算法面试题(Lowerest Common Ancestor) 的几种解法
查看>>
数组的逆序出输出、查找一个元素
查看>>
Construct Binary Tree from Preorder and Inorder Traversal -- LeetCode
查看>>
【慢慢学Android】:4.Service的开机启动
查看>>
笔记--Day2--python基础2
查看>>