用Python的辗转相除法求两个数的最大公约数
时间: 2024-02-04 18:44:04 浏览: 77
可以使用以下代码实现辗转相除法求两个数的最大公约数:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
```
在这个函数中,我们使用一个 while 循环,每次将 b 赋值为 a 除以 b 的余数,同时将 a 赋值为原来的 b,直到 b 等于 0。最后,a 就是最大公约数。
例如,如果我们要求 12 和 18 的最大公约数,调用 gcd(12, 18) 就会返回 6。
相关问题
python辗转相除法求最大公约数
以下是使用辗转相除法求最大公约数的Python代码:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
x = eval(input("请输入两个整数:"))
print("最大公约数为:", gcd(max(x), min(x)))
```
在这个代码中,我们定义了一个名为`gcd`的函数,它接受两个参数`a`和`b`,并返回它们的最大公约数。在函数中,我们使用了while循环来实现辗转相除法,直到余数为0时停止循环,此时的被除数即为最大公约数。在主程序中,我们通过`max`和`min`函数来获取输入的两个整数的最大值和最小值,并将它们作为参数传递给`gcd`函数来求解最大公约数。
用python编程,用辗转相除法求两个数的最大公约数,最小公倍数
下面是用Python实现辗转相除法求最大公约数和最小公倍数的代码:
```python
# 辗转相除法求最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 测试
a, b = 36, 48
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 144
```
其中,`gcd()`函数用于求最大公约数,`lcm()`函数用于求最小公倍数。在`gcd()`函数中,我们通过使用`while`循环不断进行辗转相除,直到余数为0,此时的被除数就是两个数的最大公约数;而在`lcm()`函数中,则是通过两数相乘除以最大公约数来求得最小公倍数。
阅读全文