码迷,mamicode.com
首页 > 其他好文 > 详细

<<什么是数学>> 余数那些事儿

时间:2015-04-10 13:37:44      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:数学

<<什么是数学>> 笔记 余数那些事儿



今天又踩坑了,感觉各种问题递归下去有没个尽头的样子╮(╯_╰)╭


还是要回归到数学的本质上来...

只要说数学,你就会被高斯帅哭的...


一般性的概念.

只要碰到用一个固定的整数d,去除整数的问题,"同余"的概念和记法(高斯创造)使得这个推理简单而清楚.

(伟大的人都是把复杂的问题简单化)


技术分享



啊哈, 看图,"同余"的概念就很直观了.我们看到任意一个整数被5除时,剩下的余数是0,1,2,3,4,这五个数中的一个.如果两个整数a和b被5除有相同的余数,我们称它们是模5同余


同余数的表示方法,这就是同余式 

技术分享


一下命题等价:

1. a和b是模5同余.

2. 存在某个整数n, a = b + nd;

3.   d 整除 a - b


一开始我很狐疑(我智商低求不鄙视..),为嘛 a = b + nd 会成立,如果a ,b 同余的话.

好,我们来证明一下

对于命题"如果 a,b 同余,那么 a = b + nd" 的证明:

假设a ,b 同余的话,可以假设它们对于模d的共同余数为为r.

那么有a = r + x*d;

           b = r + y*d;

两个等式做减法. a - b = (x - y) * d; 变形 a = b + (x- y)*d.看,是不是如果用n表示 x - y 就能得到命题的证明了!


高斯的这种同余数表示方法之所以很方便,是因为它表示的同余式满足很多基础性的运算符法则,加,减,乘

这里的 加 减 乘 是针对 两对同余数(即同余式)来说的,而不是一对同余数 (不是天才就慢慢的思考嘛~,会有更深刻的认识)


证明一下:

技术分享


已知, a == a‘ (mod d) , b == b‘(mod d)

a   = r + d*x;

a‘  = r + d*y;

b  = p + d*m;

b‘ = p + d*n;


由于:

a + b = (r + p) + d*(x + m)

a‘ + b‘ = (r + p) + d*(y + n)

那么我们可以知道,a+b与a‘+b‘同余!

同理可以证明 5) 和 6)



技术分享



技术分享



大名鼎鼎的GCD算法的证明:

下面是我以前写的关于GCD的实现

http://blog.csdn.net/cinmyheart/article/details/39370553

技术分享


证明过程简直beautiful,有木有! 超帅~

我今天终于明白...GCD为什么那样写了...


一条很重要的规律: 当a或b任意一个素数d的倍数时,那么他们的乘积也是d的倍数.这里重点其实在强调d必须是素数.

技术分享

当d不是个素数的时候, 上述约束就不一定成立.



费马定理:

技术分享


注意!p是个素数, 而且还是不能整除a的素数.

2^2 = 1 (mod 3)

2^4 = 1 (mod 5)

这样应该比较有感觉.


费马定理的证明:

技术分享

证明过程中对于"m1 m2 m3 ... mp-1 如果将其次序重新排序,必须相应的同余于数1 2 3 4 ... p-1"这里不明白, 如果有人知道为嘛的话, 希望能一起交流讨论~



后面其他余数相关的东东应该还会update~ 









技术分享


<<什么是数学>> 余数那些事儿

标签:数学

原文地址:http://blog.csdn.net/cinmyheart/article/details/44889761

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!