python编写并测试函数功能是求两个整数的最大公约数和最小公倍数。
时间: 2024-05-03 11:21:56 浏览: 112
以下是一个Python函数,用于计算两个整数的最大公约数和最小公倍数。
```python
def gcd_lcm(a, b):
# 计算最大公约数
def gcd(x, y):
while y != 0:
x, y = y, x % y
return x
# 计算最小公倍数
def lcm(x, y):
return x * y // gcd(x, y)
# 调用最大公约数和最小公倍数函数
gcd_result = gcd(a, b)
lcm_result = lcm(a, b)
# 返回计算结果
return gcd_result, lcm_result
```
要测试这个函数,我们可以使用assert语句来检查预期输出是否与实际输出相同。例如:
```python
assert gcd_lcm(12, 20) == (4, 60)
assert gcd_lcm(21, 28) == (7, 84)
assert gcd_lcm(18, 24) == (6, 72)
```
这些assert语句检查函数的输出是否正确。如果所有assert语句都通过,则说明函数的功能是正确的。
相关问题
python编写两个函数,分别求两个整数的最大公约数和最小公倍数
以下是Python代码:
```python
# 求两个整数的最大公约数
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 求两个整数的最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
```
其中,`gcd`函数使用辗转相除法求最大公约数,`lcm`函数利用最大公约数求最小公倍数。这两个函数都是比较基础的算法,可以在数学和编程中广泛应用。
python编写函数功能是求两个整数的最大公约数和最小公倍数,用户输入数字时可测试
以下是Python编写的求最大公约数和最小公倍数的函数:
```python
def gcd(x, y):
"""
求两个整数的最大公约数
"""
if x < y:
x, y = y, x
while y:
x, y = y, x % y
return x
def lcm(x, y):
"""
求两个整数的最小公倍数
"""
return x * y // gcd(x, y)
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
运行结果:
```
请输入第一个整数:12
请输入第二个整数:18
最大公约数为: 6
最小公倍数为: 36
```
用户输入了两个整数12和18,程序输出了它们的最大公约数6和最小公倍数36。
阅读全文