Python 输入两个正整数求最大公约数
时间: 2024-12-12 10:31:24 浏览: 77
在Python中,计算两个正整数的最大公约数(Greatest Common Divisor, GCD),可以使用内置的math库中的gcd函数,或者直接采用欧几里得算法(Euclidean Algorithm)。以下是两种方法的示例:
1. 使用math.gcd()函数:
```python
import math
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
gcd = math.gcd(num1, num2)
print(f"{num1}和{num2}的最大公约数是: {gcd}")
```
这种方法简单快捷,但是如果你需要讲解数学原理,可以继续看第二种方法。
2. 欧几里得算法(自定义函数实现):
```python
def gcd_euclid(a, b):
while b != 0:
a, b = b, a % b
return a
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
result = gcd_euclid(num1, num2)
print(f"{num1}和{num2}的最大公约数是: {result}")
```
这里通过不断取余数直到余数为0,最后一个非零余数就是两数的最大公约数。
相关问题
python输入两个正整数求最大公约数
5和7都是正整数,可以用以下代码进行求解:
```
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
if a > b:
max_gcd = a
else:
max_gcd = b
while True:
if max_gcd % a == 0 and max_gcd % b == 0:
break
max_gcd += 1
print("最大公约数为:", max_gcd)
```
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))
```
希望能对您有所帮助!
阅读全文
相关推荐















