利用python求两个数的最大公约数和最小公倍数,如果输入的第一个数小于第二个数,需要交换
时间: 2023-11-17 11:30:12 浏览: 36
好的,我可以帮你解决这个问题。以下是利用 Python 求两个数的最大公约数和最小公倍数的代码:
```python
# 获取两个数
num1 = int(input("请输入第一个数: "))
num2 = int(input("请输入第二个数: "))
# 如果第一个数小于第二个数,则交换两个数
if num1 < num2:
num1, num2 = num2, num1
# 计算最大公约数
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)
# 输出结果
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
代码中首先获取输入的两个数,如果第一个数小于第二个数,则交换两个数的位置。
然后定义了两个函数 `gcd` 和 `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
```
我们将结果打印出来,这样就完成了整个函数的编写。
用python编写一个函数:从键盘上输入两个数,求最大公约数和最小公倍数,如果输入的第一个数小于第二个数时,需要交换
这个函数的程序是:
```python
def gcd_lcm():
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
if num1 < num2:
num1, num2 = num2, num1
# 求最大公约数
i = num2
while i > 1:
if num1 % i == 0 and num2 % i == 0:
gcd = i
break
i -= 1
else:
gcd = 1
# 求最小公倍数
lcm = num1 * num2 // gcd
print("最大公约数为:%d,最小公倍数为:%d" % (gcd, lcm))
gcd_lcm()
```
请问,这个函数的时间复杂度是多少?
相关推荐
![](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)
![](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)