简单理解-同余定理

简单理解-同余定理本文章仅用于笔记 部分知识点来源于网络 授权请联系作者 com nbsp nbsp 直接抛出自己的理解 nbsp nbsp 2 个不同的整数 a b 被一个整数 m 相除时 得到相同的余数 那么我就可以称 a b 同余 nbsp nbsp 因为 a b 同余所以当他们相减时 余数就抵消掉了 剩下的那部分就是能被 m 整除的 nbsp 可以这么理解 nbsp nbsp a m q1 r1 b m q2 r nbsp nbsp a b

本文章仅用于笔记。部分知识点来源于网络,授权请联系作者(@.com)。

 

 直接抛出自己的理解:

    2个不同的整数a、b,被一个整数m相除时,得到相同的余数,那么我就可以称a、b同余。

    因为a、b同余所以当他们相减时,余数就抵消掉了,剩下的那部分就是能被m整除的。

 

可以这么理解:

   a=m*q1+r1,b=m*q2+r

   a-b = m(q1-q2)

   在a-b = m(q1-q2) 即 m | (a-b) (a-b能被m整除) 成立时,就能说明a、b对于m同余

表示:

   因为a-b = m(q1-q2)

   所以a、b同余可以表示为

   a≡b(mod m)

 

10个同余定理的性质:

1.反身性:a≡a (mod m);

2.对称性:若a≡b(mod m),则b≡a (mod m);

3.传递性:若a≡b(mod m),b≡c(mod m),则a≡c(mod m);

4.同余式相加:若a≡b(mod m),c≡d(mod m),则a 简单理解-同余定理 c≡b 简单理解-同余定理 d(mod m);

5.同余式相乘:若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m)。

证明:

∵a≡b(mod m)∴m|(a-b) 同理m|(b-c),

∴m|[(a-b)+(b-c)]∴m|(a-c).

故a≡c(mod m).

6.线性运算:如果a ≡ b (mod m),c ≡ d (mod m),那么

(1)a ± c ≡ b ± d (mod m);

(2)a * c ≡ b * d (mod m)。

证明:

(1)∵a≡b(mod m),

∴m|(a-b)

同理 m|(c-d)

∴m|[(a-b)±(c-d)]

∴m|[(a±c)-(b±d)]

∴a ± c ≡ b ± d (mod m)

(2)∵ac-bd=ac-bc+bc-bd=c(a-b)+b(c-d)

又 m|(a-b) , m|(c-d)

∴m|(ac-bd)

∴a * c ≡ b * d (mod m)

7.除法:若 简单理解-同余定理 ,则 简单理解-同余定理 ,其中gcd(c,m)表示c和m的最大公约数,

特殊地, 简单理解-同余定理 则 简单理解-同余定理 ;

8.幂运算:如果 简单理解-同余定理 ,那么 简单理解-同余定理 ;

9.若 简单理解-同余定理 ,n=m,则 简单理解-同余定理 ;

10.若 简单理解-同余定理 ,(i=1,2…n) 则 简单理解-同余定理 ,其中 简单理解-同余定理 表示m1,m2,…mn的最小公倍数。

 

应用例如:

方法一:

5^101 mod 3

可以通过同余的性质简单理解-同余定理换算成

因为 5 mod 3 = 2

所以 2 与 5 是同余,表示成 5^101 mod 3  ≡ 2^101 mod 3

又因为 101 mod 3 = 2

所以 101 与 3 是同余,表示成 2^101 mod 3  ≡ 2^2 mod 3

(到这里可能大家都不理解,简单解释就是在底数相同时,指数变化 后在 去 mod 3,其实是个循环)

5^1 mod 3 = 2

5^2 mod 3 = 1

5^3 mod 3 = 2

5^4 mod 3 = 1

…………

所以在底数相同时可以对指数进行同余

所以上面这个问题 可以表示成 5^101 mod 3 ≡  2^2 mod 3 = 1

 

方法二:

5^101 mod 3

因为 5 mod 3 = 2

所以 2 与 5 是同余

因为 5 与 5 是同余

通过同余式相乘( 若a≡b(mod m),c≡d(mod m),则ac≡bd(mod m) )

2 ≡ 5 (mod 3),5 ≡ 5 (mod 3)

可以表示成

2 * 5 mod 3 ≡ 5 * 5 mod 3              = 1

1 * 5 mod 3 ≡ 2 * 5 * 5 mod 3        = 2

2 * 5 mod 3 ≡ 1 * 5 * 5 mod 3        = 1

…………

依次类推所以可以用程序循环表示:

int a = 5, pow = 101, m = 3, result = 1; for(int i=1; i<=pow; i++){ result *= a; result %= m; }

所以这也是通过同余换算得到的。

扩展:

1、同余定理加减法表示:

    (a + b) mod m = (a mod m + b mod m) mod m

    (a * b) mod m = ((a mod m) * (b mod m)) mod m

2、高精度取模:

    12345 = ( ( (1 * 10 +2 ) * 10 +3 ) * 10 + 4 ) * 10 + 5)

    这就可以用同余加减法表示了

 

 

本文章仅用于笔记。部分知识点来源于网络,授权请联系作者(@.com)。

求关注一波,谢谢!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219327.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:50
下一篇 2026年3月17日 下午10:50


相关推荐

  • java内部类和匿名内部类区别_java匿名内部类的写法

    java内部类和匿名内部类区别_java匿名内部类的写法Java内部类和匿名内部类

    2022年4月21日
    69
  • ftp 出现Passive mode refused 解决办法

    ftp 出现Passive mode refused 解决办法在 shell 中调用 FTP 出现下面错误时 Permission nbsp denied Passive nbsp mode nbsp refused Permission nbsp denied Passive nbsp mode nbsp refused 请在链接 FTP 后加入 passive 即可 主要原因是 FTP 主动模式造成的 一般 FTP 默认为被动模式 我在做备份是由于防火墙的原因 我把 VSFTP 改为主动模式 这样就发现了一个问题 直接用

    2026年3月8日
    3
  • 移位运算(计算机组成原理15)

    移位运算(计算机组成原理15)三种移位运算的方法:算数移位+逻辑移位+循环移位

    2022年7月13日
    18
  • fastjson -String转JSONArray,JSONArray转List[通俗易懂]

    fastjson -String转JSONArray,JSONArray转List[通俗易懂]String转JsonArrayStringreview=”[{“name”:”人员A”,”review_grades”:{“name”:”优秀”,”parent”:”-1″,”key”:”1″},”remark”:”XXX今年XXX获得优秀党员称号”},{“name”:”人员B”,”review_grades”:{“name”:”合格”,”parent”:”-1″,”key”:”2″},”remark”:”表现良好”},{“name”:”人员C”,”review_grades”:{“name”:”

    2022年6月20日
    86
  • 高级C/C++编译技术之读书笔记(一)之编译/链接

    本节思维导图1.计算机体系结构抽象2.进程内存映射布局(1)代码节:供CPU执行的机器指令码(.text节)(2)数据节:供CPU操作的数据,通常来说,初始化数据(.data)、未初始化数

    2021年12月28日
    42
  • 嵌入式实时操作系统UCOSII[通俗易懂]

    嵌入式实时操作系统UCOSII[通俗易懂]何谓操作系统1.什么是操作系统?操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。介于APP和硬件之间。2. 为什么要用操作系统?1)相比裸机,可以实现更加复杂的功能。2)屏蔽硬件。使得上层应用APP的移植性更好。常见操作系统常见操作系统安卓、IOS、Windows、Linux、塞班、V…

    2022年5月4日
    169

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号