1.编写函数,接收2个正整数作为参数,求2个数的最大公约数和最小公倍数,结果返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数。python代码实现与注释
时间: 2023-06-08 21:06:03 浏览: 180
如下:
```python
def gcd_lcm(num1, num2):
"""求两个正整数的最大公约数和最小公倍数
:param num1: 正整数1
:param num2: 正整数2
:return: 元组,第1个元素为最大公约数,第2个元素为最小公倍数
"""
# 求最大公约数
x = max(num1, num2)
y = min(num1, num2)
while y:
x, y = y, x % y
gcd = x
# 求最小公倍数
lcm = num1 * num2 // gcd
return gcd, lcm
```
注释详细解释了函数的作用、参数和返回值。函数第一步先求最大公约数,使用辗转相除法,并将结果赋值给 gcd 变量;第二步求最小公倍数,使用公式 num1 * num2 // gcd,最后将最大公约数和最小公倍数以元组的形式返回即可。
相关问题
1.编写函数,接收2个正整数作为参数,求2个数的最大公约数和最小公倍数,结果返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数。代码注释
以下是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):
"""
接收2个正整数作为参数,求2个数的最大公约数和最小公倍数,返回一个元组
"""
return gcd(a, b), lcm(a, b)
```
以上代码中,`gcd` 函数实现了求两个数的最大公约数,采用了欧几里得算法(辗转相除法)。`lcm` 函数实现了求两个数的最小公倍数,利用了最大公约数的性质。最后的 `gcd_lcm` 函数接收两个参数,分别调用 `gcd` 和 `lcm` 函数计算最大公约数和最小公倍数,并用元组的形式返回结果。
如果给定正整数为 $a=12$ 和 $b=18$,调用 `gcd_lcm` 函数可以得到最大公约数为 $6$,最小公倍数为 $36$。
python1.编写函数,接收2个正整数作为参数,求2个数的最大公约数和最小公倍数,结果返回一个元组,其中第一个元素为最大公约数,第二个元素为最小公倍数代码及注释
以下是求解最大公约数和最小公倍数的 Python 代码及注释:
```python
def gcd_lcm(a, b):
"""
求解2个正整数的最大公约数和最小公倍数
:param a: 正整数1
:param b: 正整数2
:return: 返回一个元组,第一个元素为最大公约数,第二个元素为最小公倍数
"""
# 求最大公约数
gcd = 1 # 初始化最大公约数为1
for i in range(1, min(a, b) + 1): # 从1到a和b中的最小值遍历
if a % i == 0 and b % i == 0: # 如果i同时是a和b的因数
gcd = i # 更新最大公约数
# 求最小公倍数
lcm = a * b // gcd # 最小公倍数等于a和b的乘积除以最大公约数
# 返回结果
return gcd, lcm
```
使用示例:
```python
# 调用函数求解最大公约数和最小公倍数
result = gcd_lcm(12, 18)
# 输出结果
print("最大公约数为:", result[0])
print("最小公倍数为:", result[1])
```
输出结果:
```
最大公约数为: 6
最小公倍数为: 36
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)