python 求最大公约数最小公倍数
时间: 2023-11-21 14:55:32 浏览: 92
以下是两种Python求最大公约数和最小公倍数的算法:
1. 辗转相除法求最大公约数,通过递归调用实现:
```python
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
# 输出最大公约数
print(num1, "和", num2, "的最大公约数为", gcd(num1, num2))
# 输出最小公倍数
lcm = (num1 * num2) // gcd(num1, num2)
print(num1, "和", num2, "的最小公倍数为", lcm)
```
2. 置换相减法求最大公约数,通过循环实现:
```python
def gcd(x, y):
while y:
x, y = y, x % y
return x
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
# 输出最大公约数
print(num1, "和", num2, "的最大公约数为", gcd(num1, num2))
# 输出最小公倍数
lcm = (num1 * num2) // gcd(num1, num2)
print(num1, "和", num2, "的最小公倍数为", lcm)
```
阅读全文