python输入两个数字 求两个数的最大公因数和最小公倍数
时间: 2024-09-26 18:07:32 浏览: 61
在Python中,你可以通过编写一个函数来计算两个数字的最大公约数(GCD)和最小公倍数(LCM)。这里是一个简单的示例:
```python
import math
def gcd_lcm(a, b):
# 计算最大公约数 (GCD)
def gcd(x, y):
while(y):
x, y = y, x % y
return x
# 根据公式 LCM(a, b) = |a * b| / GCD(a, b)
lcm = abs(a * b) // gcd(a, b)
return gcd(a, b), lcm
# 获取用户输入
num1 = int(input("请输入第一个数字: "))
num2 = int(input("请输入第二个数字: "))
gcd_result, lcm_result = gcd_lcm(num1, num2)
print(f"两个数字 {num1} 和 {num2} 的最大公约数是: {gcd_result}")
print(f"它们的最小公倍数是: {lcm_result}")
相关问题
Python输入两个正整数,求两个数的最小公倍数和最大公约数
好的,我来给你写一个Python程序,可以输入两个正整数,然后计算它们的最小公倍数和最大公约数。你可以直接复制以下代码并运行:
```python
# 定义一个函数来计算最大公约数
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)
# 输入两个正整数
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
# 调用函数计算最大公约数和最小公倍数
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
当你输入两个正整数之后,程序会输出它们的最大公约数和最小公倍数。希望能够帮到你!
python从键盘输入两个数求最大公约数和最小公倍数
可以使用以下代码实现:
```python
# 获取用户输入的两个数
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
# 求最大公约数
if num1 < num2:
num1, num2 = num2, num1 # 交换两个数,使num1始终大于num2
for i in range(num2, 0, -1):
if num1 % i == 0 and num2 % i == 0:
gcd = i # 找到最大公约数
break
# 求最小公倍数
lcm = num1 * num2 // gcd
# 输出结果
print("{0}和{1}的最大公约数为:{2}".format(num1, num2, gcd))
print("{0}和{1}的最小公倍数为:{2}".format(num1, num2, lcm))
```
代码解释:
首先,通过 `input()` 函数获取用户输入的两个数,并使用 `int()` 函数将其转换为整数类型。
然后,通过辗转相除法求出最大公约数,再通过两数之积除以最大公约数求出最小公倍数。最后,使用 `print()` 函数输出结果。
需要注意的是,为了保证程序的通用性,我们使用了 `range()` 函数和 `//` 运算符来实现整数除法。
阅读全文