By WenJian
【整除】
设a,b为整数,且a不为0,如果存在一个整数q,使得a*q=b,则b能被a整除,记为a|b,且称b是a的倍数,a是b的因子。
整除的几个性质:
(1)如果a|b且b|c,则a|c ;
(2)a|b且a|c等价于对于任意的整数x,y,有a|(bx+cy) ;
(3)设m不为0,则a|b等价于ma|mb ;
(4)设整数x,y满足下式:ax+by=1,且a|n,b|n,那么(ab)|n ;
(5)若b=q*d+c,那么d|b的充要条件是d|c ;
<补充拓展>
(1)若2能整除a的最末位,则2|a
(2)若4能整除a的末两位,则4|a
(3)若8能整除a的末三位,则8|a
(4)若3能整除a的各位数字之和,则3|a
(5)若9能整除a的各位数字之和,则9|a
(6)若11能整除a的偶数位数字之和与奇数位数字之和的差,则11|a
(7)能被7、11、13整除的数的特征是:这个数的末三位与末三位以前的数字所组成数之差能被7、11、13整除。
【GCD与LCM】
一般的,设a1,a2,a3,……ak是k个正整数,如果存在一个正整数d,使得d|a1,d|a2,……d|ak,那么d则为a1,a2,……ak的公约数,其中最大的称为最大公约数,即为gcd(a1,a2,……,ak),显然它是存在的,至少为1。当gcd=1时,称这n个数是互质的或既约的。公约数一定是最大公约数的约数。
一般的,设a1,a2,a3,……ak是k个正整数,如果存在一个正整数d,使得a1|d,a2|d,a3|d,……ak|d,那么d则为a1,a2,……ak的公倍数,其中最小的称为最小公倍数数,记为lcm(a1,a2,……,ak),显然它是存在的。公倍数一定是最小公倍数的倍数。
定理:lcm(a,b)*gcd(a,b)=a*b
<欧几里德算法(辗转相除法)>
gcd(a,b)=gcd(b,a%b)
性质:若a,b为偶数,则gcd(a,b)=2*gcd(a/2,b/2);
若a偶b奇,则gcd(a,b)=gcd(a/2,b);
代码:
long long gcd(long long x,long long y){
if(x>y)return gcd(y,x);
if(x==0)return y;
return gcd(y%x,x);
}
【勾股数】
对于正整数x,y,z,如果满足等式:x^2+y^2=z^2,则称这组整数(x,y,z)为勾股数。换句话说,凡是可以构成直角三角形的整数即称为勾股数。
x,y,z两两互质的勾股数称为基本勾股数,如(3,4,5),(5,12,13),其他勾股数称为派生勾股数。基本勾股数乘以一个系数则可以得到派生勾股数。
基本勾股数的奇偶性?
一定是二奇一偶,且最大的为奇数。
所有的基本勾股数都可以写成如下形式:
x=2mn,y=m^2-n^2,z=m^2+n^2 (m>n)