用python编写程序求输入两个正整数,输出它们的最大公约数和最小公倍数
时间: 2024-05-01 17:17:11 浏览: 122
最大公约数(Greatest Common Divisor,简称GCD)是指能够同时整除两个或多个整数的最大正整数,最小公倍数(Least Common Multiple,简称LCM)则是指能够同时被两个或多个整数整除的最小正整数。
可以使用辗转相除法(又称欧几里德算法)求最大公约数,公式为:gcd(a,b) = gcd(b,a%b)。可以使用两个数的乘积除以它们的最大公约数求最小公倍数,公式为:lcm(a,b) = a*b/gcd(a,b)。
下面是代码实现:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最大公约数
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
# 求最小公倍数
def lcm(x, y):
return x * y // gcd(x, y)
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
输出结果如下:
```
请输入第一个正整数:12
请输入第二个正整数:18
最大公约数为: 6
最小公倍数为: 36
```
相关问题
在 Python 中程序运行时输入两个正整数,输出最大公约数和最小公倍数
最大公约数可以使用辗转相除法,在Python中可以这样实现:
```
def gcd(a, b):
while b != 0:
a , b = b , a % b
return a
```
最小公倍数可以通过公式 lcm(a, b) = a * b / gcd(a, b) 计算,也可以使用 Python 内置的 math 库中的 lcm() 函数实现:
```
import math
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", math.lcm(a, b))
```
希望能帮到你!
python输入两个正整数,求最大公约数和最小公倍数
好的,这是一个数学问题。最大公约数可以使用辗转相除法求解,最小公倍数可以利用最大公约数求出。您输入的两个正整数分别为a和b,以下是求解代码:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最大公约数
c = a % b
while c != 0:
a = b
b = c
c = a % b
gcd = b
# 求最小公倍数
lcm = a * b // gcd
print("最大公约数为:", gcd)
print("最小公倍数为:", lcm)
```
希望能帮到您。
阅读全文