编写函数,分别求两个整数的最大公约数和最小公倍数。运行结果如下图所示:
时间: 2024-06-11 21:09:56 浏览: 34
```python
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
def lcm(x, y):
return x * y // gcd(x, y)
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print("%d和%d的最大公约数是%d" % (a, b, gcd(a, b)))
print("%d和%d的最小公倍数是%d" % (a, b, lcm(a, b)))
```
运行结果:
```
请输入第一个整数:36
请输入第二个整数:48
36和48的最大公约数是12
36和48的最小公倍数是144
```
相关问题
写两个函数,分别求两个整数最大公约数和最小公倍数。
好的,求两个整数的最大公约数可以使用辗转相除法,也称欧几里得算法。具体步骤如下:
1. 用较大的数除以较小的数,得到余数
2. 把较小的数作为除数,余数作为被除数,继续进行步骤1,直到余数为0
3. 最后的被除数就是最大公约数
求两个整数的最小公倍数可以通过最大公约数来计算。最小公倍数等于两个数之积除以它们的最大公约数。具体步骤如下:
1. 求出两个整数的最大公约数
2. 用两个数之积除以最大公约数即可得到最小公倍数
下面是两个函数的代码实现:
```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)
```
编写两个函数分别求两个整数的最大公约数和最小公倍数,其中两个整数由主函数输入
以下是求最大公约数和最小公倍数的两个函数的代码:
```python
def gcd(a, b):
"""
求两个整数的最大公约数
:param a: 整数a
:param b: 整数b
:return: a和b的最大公约数
"""
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
"""
求两个整数的最小公倍数
:param a: 整数a
:param b: 整数b
:return: a和b的最小公倍数
"""
return a * b // gcd(a, b)
```
请注意,这里使用了递归算法来实现最大公约数的计算。此外,最小公倍数可以通过以下公式计算:
最小公倍数 = 两数之积 / 最大公约数
因此,我们在函数 `lcm` 中直接调用了 `gcd` 函数来计算最小公倍数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)