五十六、从高中碾转相除法、更相减损术算法谈起

举报
毛利 发表于 2021/07/15 03:25:13 2021/07/15
【摘要】 @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题代码化。 ---- Runsen 先问你们一个小学问题:如何求两个整数的最大公约数? 曾经见过不少的算法题,发现有的并不在数据结构和算法大纲中,而是来源于高中数学。 高中数学在必修三中,有一个非常重要的知识点,叫做碾转相除法、更相减损术。 辗转相除法, ...

@Author:Runsen

编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题代码化。 ---- Runsen

先问你们一个小学问题:如何求两个整数的最大公约数?

曾经见过不少的算法题,发现有的并不在数据结构和算法大纲中,而是来源于高中数学。

高中数学在必修三中,有一个非常重要的知识点,叫做碾转相除法、更相减损术

辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知最古老的算法, 其可追溯至公元前300年前。

在古代,有一个比较出名的数学家,叫做刘徽。而更相减损术是我国数学家刘徽的专著《九章算术》中记载的.

碾转相除法

辗转相除是求最大公约数的一种算法。给两个数,我们可以把它组成数对(a,b)

辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。

求a和b的最大公约数,就用ab中较小的数去除另一

文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。

原文链接:maoli.blog.csdn.net/article/details/110920088

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。