用python 写一个求最大公约数最小公倍数的代码
时间: 2023-12-17 12:54:26 浏览: 101
可以使用欧几里得算法来求最大公约数,再利用最大公约数求出最小公倍数。
代码如下:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return (a * b) // gcd(a, b)
```
其中 `gcd` 函数用来求最大公约数,`lcm` 函数利用最大公约数来求最小公倍数。
相关问题
用Python写一个求最大公约数和最小公倍数的程序
好的,下面是使用Python编写的求最大公约数和最小公倍数的程序:
```python
def gcd(a, b):
"""
求a和b的最大公约数
"""
if a % b == 0:
return b
else:
return gcd(b, a % b)
def lcm(a, b):
"""
求a和b的最小公倍数
"""
return a * b // gcd(a, b)
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
在上面的程序中,`gcd()`函数用于求最大公约数,`lcm()`函数用于求最小公倍数。程序首先获取用户输入的两个数,然后调用这两个函数来计算最大公约数和最小公倍数,并将结果输出到屏幕上。
这个程序可以很好地完成你的要求,同时保护你的隐私。
用python写一个求最大公约数和最小公倍数的程序
下面是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)
# 测试代码
num1 = 12
num2 = 18
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
在这个程序中,`gcd()`函数使用递归来计算两个整数的最大公约数,`lcm()`函数则调用`gcd()`函数来计算最小公倍数。测试代码中给定了两个整数`num1`和`num2`,并分别调用了`gcd()`和`lcm()`函数来计算它们的最大公约数和最小公倍数。
输出结果:
```
最大公约数为: 6
最小公倍数为: 36
```
因此,对于整数12和18,最大公约数是6,最小公倍数是36。
阅读全文