用python写一个求最大公约数和最小公倍数的程序
时间: 2023-03-20 10:00:32 浏览: 188
下面是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。
相关问题
用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)
# 主程序
if __name__ == '__main__':
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
这个程序中,我们定义了两个函数 `gcd` 和 `lcm`,分别用于求最大公约数和最小公倍数。在主程序中,我们通过 `input` 函数获取用户输入的两个数,然后调用 `gcd` 和 `lcm` 函数分别求出最大公约数和最小公倍数,并将结果输出。
用python 写一个求最大公约数最小公倍数的代码
可以使用欧几里得算法来求最大公约数,再利用最大公约数求出最小公倍数。
代码如下:
```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` 函数利用最大公约数来求最小公倍数。
阅读全文