欧几里得算法
概述
欧几里得算法又称辗转相除法,是指用于计算两个非负整数 a,b 的最大公约数,应用领域有数学和计算机两个方面。
计算公式: $gcd(a,b) = gcd(a\ mod\ b)$
算法简介
欧几里得算法是用来求两个正整数最大公约数的算法。
古希腊数学家欧几里得在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里得算法。
扩展欧几里得算法可用于RSA加密等领域。
示例
假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
1 |
|
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。
算法实现
递归实现
1 |
|
迭代实现
1 |
|
欧几里得算法
https://blog.pangcy.cn/2023/04/21/编程素养相关/数据结构与算法/算法基础/欧几里得算法/