编写函数求两个正整数的最大公约数和最小公倍数Python
时间: 2023-12-30 07:49:59 浏览: 35
可以使用辗转相除法求最大公约数,使用最大公约数和两个数的乘积求最小公倍数。
以下是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)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
相关问题
编写函数求两个正整数的最大公约数和最小公倍数python
可以使用辗转相除法来求最大公约数,最小公倍数可以通过公式 lcm(a, b) = a*b/gcd(a, b) 来求解。
下面是代码实现:
```python
def gcd(a, b):
"""
求a,b的最大公约数
"""
while b:
a, b = b, a % b
return a
def lcm(a, b):
"""
求a,b的最小公倍数
"""
return a * b // gcd(a, b)
```
其中 "//" 表示整除,即取整数部分。
辗转相除法求两个正整数最大公约数和最小公倍数的代码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` 函数用于求最小公倍数。辗转相除法的思路是用较小的数去除较大的数,然后用余数去除较小的数,一直重复这个过程,直到余数为 0 为止。此时,较小的数即为最大公约数,较大的数与最大公约数的乘积即为最小公倍数。