编写函数,接受两个正整数作为参数,返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数。
时间: 2024-12-17 11:43:42 浏览: 7
数学建模中常用的30个MATLAB程序和函数.pdf
在编程中,我们可以编写一个名为`gcd_lcm`的函数,利用欧几里得算法来计算最大公约数(GCD),然后再利用GCD来计算最小公倍数(LCM)。以下是这个函数的Python实现:
```python
def gcd(a, b):
"""
计算两个正整数的最大公约数 (Euclidean algorithm)
"""
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
"""
计算两个正整数的最小公倍数,利用 GCD
"""
return abs(a * b) // gcd(a, b)
def calculate_gcd_and_lcm(num1, num2):
"""
返回两个正整数的最大公约数和最小公倍数作为一个元组
"""
return (gcd(num1, num2), lcm(num1, num2))
# 示例
num1 = 48
num2 = 18
result = calculate_gcd_and_lcm(num1, num2)
print(f"The GCD of {num1} and {num2} is {result[0]}, their LCM is {result[1]}")
```
在这个例子中,`calculate_gcd_and_lcm`函数接收两个参数,首先计算它们的最大公约数,然后用这两个数相乘除以最大公约数的结果即为最小公倍数。
阅读全文