算法导论读书笔记——数论1

今天开始真正意义上的数论学习,呕耶~

先发个牢骚……看着玩意看的想睡觉,尤其是半夜看…………

好,进入正题,有人说《算法导论》的数论部分写的比黑书或者其他的好些,所以我就看这本咯~

首先是整数集合Z 和自然数集合 N ,今天再看某个定理的时候把 Z 误以为 N ,然后想了半天为什么这个定理是成立的呢……后来恍然大悟,郁闷……

一、除法定理:对任意整数a 和任意整数 n ,存在唯一的整数 q r ,满足 0<=r<n ,并且 a=qn+r

把它写成一个除法,得到a/n=q....r ,也就是给定了 a n ,当然 q r 也就确定咯!小学知识……

那么给定一个数n ,所有整数对他取余会存在 n 种情况 (0.1.2....n) ,那么把这些整数根据对他取余的结果分成了 n 类,例如给定 n=3 ,那么可以把所有的整数分成了 {-3,0,3,6,....}( 3 0) {-2,1,4,7......}( 3 1) {-1,2,5,8.....}( 3 2) 三类。

二、 公约数和最大公约数

先说明a|b 表示 b 整除 a 或者 a 能被 b 整除……

首先,有d|a && d|b ==>d|(a+b) && d|(a-b) ,数 d 满足能同时被 a b 整除,那么 d 就是 a b 的公约数,也就是说 a b 同时有个因子 d ,所以 a+b a-b 都有因子 d ,例如 a+b ,可以写成 d(a/d+b/d) ,因为 d a b 的公因子,所以能够保证 a/d b/d 为整数,也就能保证 a+b d 除后为整数,因此关系 d|a && d|b ==>d|(a+b) && d|(a-b) 成立。

这个关系可以推广为d|a && d|b ==> d|(ax+by) ,原因同上。

另外,如果a|b && b|a  ,则可以得到 |a|=|b| ,也就是 a= ± b

a b 的最大公约数用 gcd(a,b) 表示,另外规定 gcd(0,0)=0 。则有如下性质:

gcd(a,b)=gcd(b,a);

gcd(a,b)=gcd(-a,b);

gcd(a,b)=gcd(|a|,|b|);

gcd(a,0)=|a|;

gcd(a,ka)=|a|;

相对于小学,现在的定义已经从正整数范围扩大到整个整数范围了。

下一个定理:如果a b 是不都为 0 的任意整数,则 gcd(a,b) a b 的线性组合集合 {ax+by x,y 均为整数 } 中的最小正元素。这个证明我没有看懂,不过结论貌似挺重要的……

对于任意整数a b ,如果 d|a 并且 d|b ,则 d|gcd(a,b) ,显然成立,因为如果 d a b 的公因子,也就是 a b 的公约数,显然是 a b 的最大公约数的因子,也就是 d|gcd(a,b)

最后给两个推论

1. 对所有的整数a b 以及任意的非负整数 n ,有 gcd(an,bn)=ngcd(a,b)

2. 对所有的正整数n a b ,如果 n|ab 并且 gcd(a,n)=1 ,则 n|b

三、 互质数

gcd(a,b)=1,则有 a b 互质。 a b 为互质数。

如果对任意整数a b p ,有 gcd(a,p)=1 gcd(b,p)=1 ,则有 gcd(ab,p)=1

这个定理的证明就用到了刚才那个说很重要的定理……

证明如下:

设有整数x,y,x',y' 满足

ax+py=1

bx'+py'=1

两边相乘,得到

ab(xx')+p(ybx'+y'ax+pyy')=1

所以1 ab p 的一个正线性组合,所以 gcd(ab,p)=1 证毕。

四、 唯一质因子分解

就是说任意的数

其中p1...pn 为质数。

五、 欧几里得算法及其拓展

GCD递归定理:对于任意的非负整数 a 和任意的正整数 b gcd(a,b)=gcd(b,a mod b)

之后就有了欧几里得算法,也就是辗转相除法,这里略过,太熟悉了……

之后就是欧几里得的拓展了,对于ax+by=gcd(a,b)=d 时,可以算出满足条件的 x y ,推导和求法如下

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值