公约数与最大公约数
公约数的一条重要性质是:
d|a且d|b蕴含着d|(a+b)且d|(a-b)
更一般的,对任意整数x和y,有
d|a且d|b蕴含着d|(ax+by)
并且,如果a|b,那么|a| ≤ |b|,或者b = 0,而这说明
a|b且b|a蕴含着a = ±b
gcd函数的基本性质:
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|
定理1:如果任意整数a和b都不为0,则gcd(a,b)是a和b的线性组合集{ax+by: x,y∈ Z}中的最小正元素。
推论1:对任意整数a与b,如果d|a且d|b,则d|gcd(a,b)
推论2:对所有整数a和b以及任意非负整数n,有gcd(an,bn) = n gcd(a,b)
推论3:对于任意正整数n、a和b,如果n|ab且gcd(an,bn)是集合{anx+bny: x,y∈Z}中的最小正元素,即集合{ax+by:x,y∈Z}中最小正元素的n倍。
GCD递归定理:对任意非负整数a和任意正整数b,
gcd(a,b) = gcd(b,a mod b)
欧几里得算法:
1 int gcd(int a, int b){ 2 if(b == 0) return a; 3 return gcd(b, a%b); 4 }
浙公网安备 33010602011771号