编写一个函数从键盘上输入两个数求最 大公约数和最小公倍数如果输入的第一个数小于第二个数时需要交换。如输入1 6,24,调用函数显示8, 48
时间: 2024-03-10 11:44:44 浏览: 57
输入两个数并求其最大公约数和最小公倍数
好的,我可以帮你编写一个函数来实现这个功能。下面是代码:
```python
def gcd_lcm(a, b):
if a < b:
a, b = b, a
# 求最大公约数
x, y = a, b
while y > 0:
x, y = y, x % y
gcd = x
# 求最小公倍数
lcm = a * b // gcd
return gcd, lcm
# 主程序
nums = input("请输入两个数字(用空格分隔):").split()
if len(nums) != 2:
print("输入的数字数量不正确!")
else:
try:
a, b = map(int, nums)
gcd, lcm = gcd_lcm(a, b)
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
except ValueError:
print("请输入有效的数字!")
```
这个程序定义了一个名为 gcd_lcm 的函数,用于计算两个数的最大公约数和最小公倍数。在主程序中,程序首先从键盘上获取两个数字,然后通过 map 函数将字符串类型的数字转换为整型。接着程序调用 gcd_lcm 函数来计算最大公约数和最小公倍数,并输出结果。
希望这个程序能够解决你的问题。
阅读全文