用Python,输入两个正整数求出她们的最大公约数和最小公倍数
时间: 2024-12-10 14:45:18 浏览: 7
在Python中,你可以使用欧几里得算法(Euclidean algorithm)来计算两个正整数的最大公约数(Greatest Common Divisor, GCD),然后利用公式 `lcm(a, b) = |a * b| / gcd(a, b)` 来求解它们的最小公倍数(Least Common Multiple, LCM)。以下是实现这两个功能的代码:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# 示例
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
gcd_value = gcd(num1, num2)
lcm_value = lcm(num1, num2)
print(f"最大公约数 (GCD): {gcd_value}")
print(f"最小公倍数 (LCM): {lcm_value}")
```
当你运行这个程序并输入两个正整数,它将输出这两个数的最大公约数和最小公倍数。
相关问题
python输入两个正整数求最大公约数和最小公倍数
可以使用辗转相除法来求解最大公约数,而最小公倍数可以通过两数之积除以最大公约数来得到。
以下是Python代码实现:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最大公约数
def gcd(x, y):
if y == :
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))
```
希望能对您有所帮助!
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)
```
希望能帮到您。
阅读全文