求最大公约数的欧几里德算法
时间: 2023-07-10 15:12:40 浏览: 118
求最大公约数的三种算法
欧几里德算法,也称辗转相除法,用于求两个正整数的最大公约数(GCD)。算法基于下面的定理:
对于任何整数a和b,它们的最大公约数等于a除以b的余数r和b之间的最大公约数。
算法步骤如下:
1. 如果a小于b,则交换a和b。
2. 用a除以b,得到余数r。
3. 如果r为0,则b是最大公约数。
4. 否则,将b赋值为r,然后返回第二步。
下面是一个Python实现:
```python
def gcd(a, b):
if a < b:
a, b = b, a
while b != 0:
r = a % b
a, b = b, r
return a
```
例如,gcd(60, 48)将返回12,因为60和48的最大公约数是12。
阅读全文