用python编写一个函数,从键盘上输入两个数,求最大公约数和最小公倍数,如果输入的第一个数小于第二个数时,需要交换 如:输入16,24 调用函数显示8,48
时间: 2023-12-21 22:07:20 浏览: 105
可以使用辗转相除法来求解最大公约数,最小公倍数等于两数之积除以最大公约数。下面是一个实现:
```python
def gcd_lcm(num1, num2):
# 如果第一个数小于第二个数,交换两个数
if num1 < num2:
num1, num2 = num2, num1
# 求最大公约数
a, b = num1, num2
while b:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = num1 * num2 // gcd
return gcd, lcm
# 测试函数
num1, num2 = map(int, input("请输入两个数,用逗号隔开:").split(","))
gcd, lcm = gcd_lcm(num1, num2)
print("最大公约数为:{},最小公倍数为:{}".format(gcd, lcm))
```
输出:
```
请输入两个数,用逗号隔开:16,24
最大公约数为:8,最小公倍数为:48
```
相关问题
python编写一个函数 从键盘输入两个数 求最大公约数和最小公倍数
可以使用辗转相除法来求最大公约数,最小公倍数可以通过最大公约数求得。
代码如下:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
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))
```
输入两个数后,程序会输出它们的最大公约数和最小公倍数。
用python编写一个函数,从键盘上输入两个数,求最大公约数和最小公倍数,如果输入的第一个数小于第二个数时,需要交换
好的,我来为您编写这个函数。请检查以下代码:
```python
def gcd_lcm():
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
if num1 < num2:
num1, num2 = num2, num1
temp1, temp2 = num1, num2
while temp2 != 0:
temp = temp1 % temp2
temp1 = temp2
temp2 = temp
gcd = temp1
lcm = num1 * num2 // gcd
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
```
在这个函数中,我们首先从键盘上输入两个整数,然后比较这两个数的大小,如果第一个数小于第二个数,我们就交换它们的值。
然后,我们用辗转相除法求出这两个数的最大公约数。最后,我们可以通过以下公式计算它们的最小公倍数:
```python
lcm = num1 * num2 // gcd
```
我们将结果打印出来,这样就完成了整个函数的编写。
阅读全文