编写函数,接收两个正整数作为参数,返回一个数组,其中第一个元素为最大公约数,第二个元素为最小公倍数。
时间: 2023-04-26 13:00:59 浏览: 166
可以使用辗转相除法来求最大公约数,最小公倍数可以通过两个数的乘积除以最大公约数来求得。
以下是一个示例代码:
```python
def gcd_lcm(a, b):
# 求最大公约数
while b:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = a * (b // a)
return [gcd, lcm]
```
使用示例:
```python
>>> gcd_lcm(12, 18)
[6, 36]
>>> gcd_lcm(7, 13)
[1, 91]
```
相关问题
编写函数fun,接收两个正整数作为参数,返回一个元祖,其中第一个元素为最大公约数,
第二个元素为最小公倍数。
函数fun的代码如下:
``` python
def fun(a, b):
"""
计算两个正整数的最大公约数和最小公倍数
:param a: 正整数a
:param b: 正整数b
:return: 元祖,第一个元素为最大公约数,第二个元素为最小公倍数
"""
# 计算最大公约数
x = max(a, b)
y = min(a, b)
while y:
x, y = y, x % y
gcd = x
# 计算最小公倍数
lcm = a * b // gcd
return gcd, lcm
```
使用示例:
``` python
a = 12
b = 16
result = fun(a, b)
print(result) # 输出 (4, 48)
```
解释:12 和 16 的最大公约数为 4,最小公倍数为 48。
python编写函数,接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公倍数,第二个为最小公约数
下面是一个实现这个功能的 Python 函数:
```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)
def gcd_lcm(a, b):
"""
接收两个正整数作为参数,返回一个元组,其中第一个元素为最大公倍数,第二个为最小公约数
"""
return lcm(a, b), gcd(a, b)
```
我们首先定义了一个计算最大公约数的函数 `gcd()`,然后再定义一个计算最小公倍数的函数 `lcm()`,这两个函数都采用了递归算法来计算。
最后,我们定义了一个名为 `gcd_lcm()` 的函数,它接收两个正整数作为参数,然后返回一个元组,其中第一个元素为最大公倍数,第二个为最小公约数。这个函数内部调用了 `lcm()` 和 `gcd()` 函数来计算结果。
我们可以这样使用这个函数:
```python
>>> gcd_lcm(12, 18)
(36, 6)
```
这表示 12 和 18 的最小公倍数是 36,最大公约数是 6。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)