24昕

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

公约数与最大公约数

公约数的一条重要性质是:

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 }

 

 

posted on 2019-03-09 13:24  24昕  阅读(347)  评论(0)    收藏  举报