python求两个正整数的最大公约数和最小公倍数
时间: 2023-06-05 14:04:35 浏览: 84
好的,对于求两个正整数的最大公约数和最小公倍数,可以用以下代码实现:
```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(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
print(f"{num1}和{num2}的最大公约数是{gcd(num1, num2)}")
print(f"{num1}和{num2}的最小公倍数是{lcm(num1, num2)}")
```
输入示例:
```
请输入第一个正整数:12
请输入第二个正整数:18
```
输出示例:
```
12和18的最大公约数是6
12和18的最小公倍数是36
```
辗转相除法求两个正整数最大公约数和最小公倍数的代码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 为止。此时,较小的数即为最大公约数,较大的数与最大公约数的乘积即为最小公倍数。
阅读全文