算法导论学习_数论

来源:互联网 发布:淡斑 知乎 编辑:程序博客网 时间:2024/04/29 01:21

算法导论学习_数论

1>gcd(0,a)=|a|;0 和任意一个不为0的整数的最大公约数都为该数的绝对值,因为0除以任何一个不为0的整数都得0。

2>练习31.1-5

由n|ab  推出   存在  K,使得  ab=nK;gcd(a,n)=1  推出 存在  u,v,使得  ua+vn=1;对上式两端同时乘以b,有uab+vnb=b;代入第一式有:unK+vnb=b;即 n(uK+vb)=b所以 n|b

 3>练习31.1-11   证明:大于1的自然数必可写成质数的乘积。

用反证法:假设存在大于1的自然数不能写成质数的乘积,把最小的那个称为n。自然数可以根据其可除性(是否能表示成两个不是自身的自然数的乘积)分成3类:质数、合数和1。首先,按照定义,n大于1。其次,n不是质数,因为质数p可以写成质数乘积:p=p,这与假设不相符合。因此n只能是合数,但每个合数都可以分解成两个严格小于自身而大于1的自然数的积。设其中a和b都是介于1和n之间的自然数,因此,按照n的定义,a和b都可以写成质数的乘积。从而n也可以写成质数的乘积。由此产生矛盾。因此大于1的自然数必可写成质数的乘积。

4>负数可以求模取余

两个正数的求模运算结果是正数,

两个负数的求模运算结果是负数.

一正一负的话取决于"分子"的符号.

5%3=2

(-5)%3=-2

5%(-3)=2

(-5)%(-3)=-2

5>31.1-2 证明:有无穷多个素数

假设素数有穷,设最大的素数为A,那么我们再构造一个数b=2*3*5*7*~~~~A+1;
那么这个b一定是合数,但是它不能被所有的素数整除,于是他也是一个素数,与假设矛盾
,所以素数有无穷个

6>

 

 

 

 

 


0 0
原创粉丝点击