用python写一个求最大公约数和最小公倍数的程序,要求尽量注释
时间: 2023-05-20 20:02:56 浏览: 95
当然可以,以下是一个用 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)
# 主程序
if __name__ == '__main__':
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
这个程序中,我们定义了两个函数 `gcd` 和 `lcm`,分别用于求最大公约数和最小公倍数。在主程序中,我们通过 `input` 函数获取用户输入的两个数,然后调用 `gcd` 和 `lcm` 函数分别求出最大公约数和最小公倍数,并将结果输出。
相关问题
python最大公约数 最小公倍数计算注释
以下是 Python 计算最大公约数和最小公倍数的代码,附有注释:
```python
def gcd(a, b):
"""
计算 a 和 b 的最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
"""
计算 a 和 b 的最小公倍数
"""
return a * b // gcd(a, b)
```
其中,`gcd` 函数使用了递归的方式计算最大公约数,如果 `b` 等于 0,则返回 `a`,否则返回 `b` 和 `a%b` 的最大公约数。`lcm` 函数则直接使用公式 `a*b/gcd(a,b)` 计算最小公倍数。
注意:这里的 `//` 是整除运算符,表示取整数部分的除法。
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
```
阅读全文