欧几里得算法

 

欧几里得算法

(Euclid's Algorithm)

定理:

1)       如果a能整除b,那么a和b的最大公约数gcd (a, b) = b

2)       如果a = bt + r,t、r均为整数,则最大公约数gcd(a, b) = gcd(b, r)

※   r能整除a和b的每个公约数,所以a和b的最大公约数必定能被r整除。同时,由(1)得,gcd (a, b) = b,因此gcd (a, b)是b和r的公约数,从而推得gcd (a, b) ≤ gcd(b, r)。反推亦可。

 

推论:

对于每一对整数a和b,总有gcd (a, b) = as + bt

 

※注:以上a、b均为非负整数,且不互质。

 

举例:

a = 2322

b = 654

 

2322 = 654·3 + 360    gcd (2322, 654) = gcd (654, 360)

654 = 360·1 + 294     gcd (654, 360) = gcd (360, 294)

360 = 294·1 + 66      gcd (360, 294) = gcd (294, 66)

294 = 66·4 + 30       gcd (294, 66) = gcd (66, 30)

66 = 30·2 + 6         gcd (66, 30) = gcd (30, 6)

30 = 6·5             gcd (30, 6) = 6

 

因此:

gcd (2322,654) = 6 (由定理得)

 

2322×20 + 654× (-71) = 6 (由推论得)

 

相关:

1)       a × b = gcd(a, b) × lcm(a, b)

2)       任何线性组合as + bt都可被a和b的任意公因数除尽,尤其是任意a和b的公因数都能被最大公约数gcd (a, b)整除。

3)       gcd (a, b)是as + bt中的最小正整数

4)       对于互质数,有as + bt = 1

5)       若ab整除m,且gcd (a, m) = 1,则b能整除m

6)       算术基本定理(Fundamental Theorem of Arithmetic):

任何一个大于1的自然数N,都可以唯一分解成有限个质数的乘积

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值