用python写一个请您输入两个整数,输出它们的最大公约数和最小公倍数。
时间: 2024-05-14 20:13:26 浏览: 4
好的,这个问题很简单。以下是Python代码:
```
# 定义函数求最大公约数
def gcd(a, b):
if a < b:
a, b = b, a
while b != 0:
temp = a % b
a = b
b = temp
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编写程序求输入两个正整数,输出它们的最大公约数和最小公倍数
最大公约数(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实现:
```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 = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 72
```
其中,`gcd`函数使用辗转相除法求两个整数的最大公约数,`lcm`函数通过最大公约数求出最小公倍数。