python辗转相除法求最大公约数并计算输出最小公倍数
时间: 2024-01-25 17:03:57 浏览: 68
好的,这个问题可以回答。以下是代码实现:
```python
#定义求最大公约数的函数
def gcd(a, b):
while b:
a, b = b, a % b
return a
#定义求最小公倍数的函数
def lcm(a, b):
return a*b // gcd(a, b)
#输入两个整数
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
#调用函数计算最大公约数和最小公倍数
greatest_common_divisor = gcd(num1, num2)
least_common_multiple = lcm(num1, num2)
#输出结果
print("最大公约数为:", greatest_common_divisor)
print("最小公倍数为:", least_common_multiple)
```
使用输入测试的结果示例:
输入:
请输入第一个整数:12
请输入第二个整数:20
输出:
最大公约数为: 4
最小公倍数为: 60
相关问题
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)
```
其中,`gcd`函数用于求最大公约数,`lcm`函数用于求最小公倍数。
辗转相除法的基本思想是:用较大的数除以较小的数,再用余数去除较小的数,如此反复,直到余数为为止。最后的除数就是最大公约数,而最小公倍数等于两数之积除以最大公约数。
例如,求出30和45的最大公约数和最小公倍数,可以这样调用函数:
```python
>>> gcd(30, 45)
15
>>> lcm(30, 45)
90
```
因此,30和45的最大公约数是15,最小公倍数是90。
用python用辗转相除法求最大公约数与最小公倍数
可以使用以下代码来通过辗转相除法求最大公约数和最小公倍数:
```python
# 定义函数求最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 定义函数求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 例子:求 18 和 24 的最大公约数和最小公倍数
a = 18
b = 24
print("18 和 24 的最大公约数为:", gcd(a, b))
print("18 和 24 的最小公倍数为:", lcm(a, b))
```
输出结果为:
```
18 和 24 的最大公约数为: 6
18 和 24 的最小公倍数为: 72
```
这里用到了 Python 的整数除法运算符 `//`,它可以返回整数的商,即去掉小数部分的除法结果。
阅读全文