在python自定义函数,求两个数的最大公约数和最小公倍数
时间: 2023-08-11 09:11:42 浏览: 49
可以使用辗转相除法来求两个数的最大公约数,然后通过最大公约数和两个数的乘积来求最小公倍数。
以下是实现代码:
```python
def gcd(a, b):
"""
求两个数的最大公约数
"""
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
"""
求两个数的最小公倍数
"""
return a * b // gcd(a, b)
```
这里用到了Python中的整数除法运算符 `//`,它可以保留除法结果的整数部分。
相关问题
python编写函数求两个数最大公约数和最小公倍数。
可以使用辗转相除法来求解最大公约数,同时可以利用最大公约数求解最小公倍数。
以下是一个求解两个数最大公约数和最小公倍数的 Python 函数:
```python
def gcd_lcm(a, b):
# 求最大公约数
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
# 求最小公倍数
lcm = a * b // gcd(a, b)
return gcd(a, b), lcm
```
使用示例:
```python
>>> gcd_lcm(12, 18)
(6, 36)
>>> gcd_lcm(24, 36)
(12, 72)
```
函数 `gcd_lcm` 接受两个参数 `a` 和 `b`,返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数。函数内部定义了一个 `gcd` 函数,使用递归的方式来实现辗转相除法求解最大公约数。最小公倍数可以通过公式 `lcm = a * b // gcd(a, b)` 来求解。
Python调用函数,求两个数的最大公约数和最小公倍数
好的,您可以使用以下代码来计算两个数的最大公约数和最小公倍数:
```python
def get_gcd(x, y):
while(y):
x, y = y, x % y
return x
def get_lcm(x, y):
lcm = (x*y)//get_gcd(x,y)
return lcm
```
您可以在其他代码中调用这些函数,并传入两个数字作为参数,如下所示:
```python
num1 = 24
num2 = 36
gcd = get_gcd(num1, num2)
lcm = get_lcm(num1, num2)
print("最大公约数:", gcd)
print("最小公倍数:", lcm)
```
输出结果为:
最大公约数: 12
最小公倍数: 72
请注意,这只是 Python 中计算最大公约数和最小公倍数的一种方法,也可以使用其他算法来实现此功能。