前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法:最大公约数(GCD)

算法:最大公约数(GCD)

作者头像
WEBJ2EE
发布2019-07-19 12:36:26
8.3K0
发布2019-07-19 12:36:26
举报
文章被收录于专栏:WebJ2EE

1. 最大公约数?

因数、倍数:设 a, b 是整数,b !=0。如果有一个整数 c,它使得 a = bc,则 a 叫做 b 的倍数,b 叫做 a 的因数。我们有时说,b 能整除 a 或 a 能被 b 整除,表示为 b|a

公因数、最大公因数:如果 n >=2 是整数,而 a1, a2, ..., an 和 d 都是正整数。又设 d|a1,d|a2,d|a3,...,d|an,则 d 叫做 a1,a2,...,an 的公因数。公因数中的最大的那一个数叫做 a1,a2,a3,...,an 的最大公因数,表示为 (a1, a2, ..., an) = d

2. 辗转相除法?

辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。方法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。那么最后的除数就是这两个数的最大公约数。

例:求 123456 和 7890 的最大公因数。

图:辗转相除过程

答: 123456 和 7890 的最大公因数是 6.

3. 数学解释?

辗转相除法的关键是

一个数学事实

GCD(a, b) = GCD(b, a mod b)

图:辗转相除数学证明

4. 程序代码?

图:辗转相除算法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebJ2EE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档