编写一个函数 接受两个正整数作为参数返回一个元组 其中第一个元素为最大公约数 第二个元素为最小公倍数不允许使用gcd函数
时间: 2024-10-23 22:04:54 浏览: 12
数学建模中常用的30个MATLAB程序和函数.pdf
要编写一个函数计算两个正整数的最大公约数(GCD)和最小公倍数(LCM),你可以利用欧几里得算法(辗转相除法)来找到GCD,然后用公式 GCD(a, b) * LCM(a, b) = a * b 来计算LCM。以下是这个函数的Python实现:
```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 gcd_and_lcm(a, b):
return gcd(a, b), lcm(a, b)
# 示例
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
result = gcd_and_lcm(num1, num2)
print(f"最大公约数: {result[0]}, 最小公倍数: {result[1]}")
```
在这个函数中,`gcd_and_lcm`接受两个参数,先通过`gcd`函数计算它们的最大公约数,再用`lcm`函数计算它们的最小公倍数。
阅读全文