关于辗转相除法求最大公约数的原理

本文介绍了欧几里德算法(辗转相除法)来求解最大公约数的基本原理和操作步骤。通过实例解析算法过程,并探讨了算法背后的数学推论,包括公因数、商和余数的关系,以及如何递归地找到最大公约数。该方法在处理大数时特别有效,是计算机程序中常用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是从网上整合的资料:

辗转相除法,即欧几里德算法。

方法:

大数/小数(即两个数中较小的数):如果能整除,则最大公约数=小数;如果不能整除,则 除数/余数,循环直至整除,最大公约数=除数。

例子:求511和292的最大公约数?

解:511/292=1余219,292/219=1余73,219/73=3,则最大公约数为73。

基本原理:

问题:如果要求两个正整数a和b(假设a>b,其实这并不影响求解算法)的最大公约数。

表示a=b×q+r  其中,q表示a除以b所得的商,r表示余数。

则gcd(a,b)=gcd(b,r)。 (最大公约数greatest common divisor,gcd)

可以看出,如果一个数能够同时整除a和b,则必能同时整除b和r;而能够同时整除b和r的数也必能同时整除a和b。即a和b的公约数与b和r的公约数是相同的,其最大公约数也是相同的。

定义:

对於两个自然数 a 和 b,若存在正整数 q,使得 a=bq,则 b 能整除 a,记作 b | a,我们叫 b 是 a 的因数,而 a 是 b 的倍数. 那么如果 c | a,而且 c | b,则 c 是 a 和 b 的公因数.由此,我们可以得出以下一些推论:

推论一:如果 a | b,若 k 是整数,则 a | kb.因为由 a | b 可知 ha=b,所以 (hk)a=kb,即 a | kb.

推论二:如果 a | b 以及 a | c,则 a | (b±c).因为由 a | b 以及 a | c,可知 ha=b,ka=c,二式相加,得 (h+k)a=b+c,即 a | (b+c).同样把二式相减可得 a | (b-c).

推论三:如果 a | b 以及 b | a,则 a=b.因为由 a | b 以及 b | a,可知 ha=b,a=kb,因此 a=k(ha),hk=1,由於 h 和 k 都是正整数,故 h=k=1,因此 a=b.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值