用Python写一个用迭代法求最大公约数的代码
时间: 2023-06-05 10:05:45 浏览: 55
以下是用Python实现用迭代法求最大公约数的代码:
```
def iterative_gcd(a, b):
"""
:param a: int
:param b: int
:return: int, the greatest common divisor of a and b
"""
while b != 0:
temp = b
b = a % b
a = temp
return a
```
使用方法:
```
print(iterative_gcd(12, 16)) # Output: 4
```
这里使用了欧几里得算法(辗转相除法)求最大公约数。算法的基本思想是:用较大数除以较小数,再用较小数除上一步的余数,如此反复,直到余数为零。最后的除数即为这两个数的最大公约数。
相关问题
用python写一个用迭代法求最大公约数的代码
好的,我可以回答这个问题。以下是用Python编写的用迭代法求最大公约数的代码:
```
def gcd_iterative(a, b):
while b:
a, b = b, a % b
return a
```
其中,a和b是两个待求最大公约数的整数。该函数会返回a和b的最大公约数。
迭代法求最大公约数python
可以使用以下代码实现迭代法求最大公约数:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 示例:求 20 和 16 的最大公约数
print(gcd(20, 16)) # 结果为 4
```
其中,`a` 和 `b` 分别为需要求最大公约数的两个数。每次迭代中,将 `a` 赋值为 `b`,`b` 赋值为 `a` 除以 `b` 的余数。最后,当 `b` 为 0 时,返回 `a` 即为最大公约数。