用python编写函数,接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公约数, 第二个元素为最小公倍数。
时间: 2024-11-29 18:35:54 浏览: 39
在Python中,你可以编写一个名为`gcd_lcm`的函数,利用辗转相除法(欧几里得算法)计算最大公约数(GCD),然后通过公式 `lcm(a, b) = abs(a*b) // gcd(a, b)` 计算最小公倍数(LCM)。以下是函数的实现:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
def calculate_gcd_lcm(num1, num2):
result = (gcd(num1, num2), lcm(num1, num2))
return result
# 示例:
num1 = 48
num2 = 18
gcd_num, lcm_num = calculate_gcd_lcm(num1, num2)
print(f"最大公约数 ({num1}, {num2}) 是: {gcd_num}")
print(f"最小公倍数 ({num1}, {num2}) 是: {lcm_num}")
相关问题
python编写函数接受两个正整数作为参数返回一个元组其中第一个元素为最大公约数第二个元素为最小公倍数
在Python中,你可以编写一个名为`gcd_lcm`的函数,用于计算两个正整数的最大公约数(Greatest Common Divisor,通常用`math.gcd`函数直接获取)和最小公倍数(Least Common Multiple,可以利用公式 `lcm(a, b) = abs(a * b) // math.gcd(a, b)` 来计算)。以下是这个函数的示例:
```python
import math
def gcd_lcm(num1, num2):
def lcm(a, b):
return abs(a * b) // math.gcd(a, b)
gcd_value = math.gcd(num1, num2)
lcm_value = lcm(num1, num2)
return (gcd_value, lcm_value)
# 测试函数
result = gcd_lcm(48, 18)
print(f"最大公约数:{result[0]}, 最小公倍数:{result[1]}")
```
在这个函数中,首先导入了`math`模块以使用`gcd`函数。然后定义了一个内部函数`lcm`来计算两个数的最小公倍数。外部函数`gcd_lcm`接收两个参数,计算它们的GCD和LCM,并将结果作为一个包含两个元素的元组返回。
用python编写函数,接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数
好的,以下是一个实现这个功能的 Python 函数:
```python
def gcd_lcm(num1, num2):
"""
计算两个正整数的最大公约数和最小公倍数
:param num1: 第一个正整数
:param num2: 第二个正整数
:return: (最大公约数, 最小公倍数)
"""
# 计算最大公约数
a = num1
b = num2
while b:
a, b = b, a % b
gcd = a
# 计算最小公倍数
lcm = num1 * num2 // gcd
return (gcd, lcm)
```
两个正整数作为参数传递给函数 `gcd_lcm`,函数将返回一个元组,其中第一个元素是最大公约数,第二个元素是最小公倍数。
阅读全文