标签:gcd 运算 集合 公约数 合集 因此 相同 数论 nbsp
一:整除与约数
整除:若整数a除以非零整数b,商为整数,且余数为0,我们就说a能被b整除(或者说b整除a),记作b|a。
约数:如果d|a且d>=0,则称d是a的约数。
二:素数与合数
素数:如果一个整数a>1且只能被平凡数1和它自身所整除,则称这个数是素数(质数)。
合数:如果一个整数a>1且不是素数,则称这个数是合数。
注意:1既不是合数也不是质数,2是最小的素数。(有些OJ的题目中会把1当作质数,有些会把2当作合数)。
三:除法定理、余数与模运算
除法定理:对于任何整数a和任何整数n,存在唯一整数q和r,满足0<<r<n且a = q*n+r;称q=⌊a/n⌋为除法的商,值r = a mod n为除法的余数。n|a当且仅当a mod n = 0.
模运算:对任意整数a和任意整数n,a mod n的值就是a/n的余数。a mod n = a - n*⌊a/n⌋,可知0<=a mod n < n。
若a mod n = b mod n,则记 a ≡ b(modn),称模n时a等价于b。即a与b除以同一个数时有相同的余数。等价地,a≡b(modn)当且仅当n时b-a的一个因子。
四:公约数与最大公约数
公约数:如果d是a的约数并且d也是b的约数,则称d是a与b的公约数。
公约数的一条重要性质是:d|a 且 d|b 蕴涵着d|(a+b) 且 d|(a-b),更一般地,对于任意整数x和y,有d|a 且 d|b 蕴涵着 d|(ax+by)
最大公约数:两个不同时为0的整数a与b的公约数中最大的数成为最大公约数,记作gcd(a,b)。定义gcd(0,0)= 0。
GCD函数的基本性质:gcd(a,b)=gcd(b,a)、gcd(a,b)=gcd(|a|,|b|)、gcd(a,ka)=|a|,k属于整数。
gcd(a,b)=gcd(-a,b)、gcd(a,0)=|a|
定理:如果任意整数a和b都不为0,则gcd(a,b)是a与b的线性组合集{ax+by:x,y∈Z}中的最小元素。
证明:设s是a与b的线性组合集合中的最小正元素,并且对某个x,y∈Z,有s=ax+by。设q=⌊a/s⌋,则a mod s = a-q*s = a-q(ax+by) = a(1-qx)+b(-qy)。因此amods也是a与b的一个线性组合。s是这个线性组合中的的最小正数,由于0<=amods<s,故有a mod s = 0。因此s|a,类似地,可得到s|b.因此s是a与b的公约数,所以gcd(a,b)>=s。因为gcd(a,b)能同时被a和b整除,并且s是a与b的一个线性组合,所以gcd(a,b)|s。但由于gcd(a,b)|s和s>0,因此gcd(a,b)<=s。将上面已证明的gcd(a,b)>=s与gcd(a,b)<=s结合起来,得到gcd(a,b)=s。因此证明了s是a与b的最大公约数。
推论:对任意整数a与b,如果d|a并且d|b,则d|gcd(a,b)。
对所有整数a和b以及任意非负整数n,有gcd(an,bn)=ngcd(a,b)。
对于任意整数n,a,b,如果n|ab且gcd(a,n)=1,则n|b。
五:互质数
如果两个整数a与b只有公约数1,即gcd(a,b)=1,则a与b称为互质数。
定理:对于任意整数a,b和p,如果gcd(a,p)=1且gcd(b,p)=1,则gcd(ab,p)=1。
标签:gcd 运算 集合 公约数 合集 因此 相同 数论 nbsp
原文地址:https://www.cnblogs.com/AC-AC/p/9740478.html