python用穷举法计算两个数的最大公约数
时间: 2023-11-25 18:57:45 浏览: 132
可以使用以下 Python 代码来计算两个数的最大公约数:
```python
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
# 交换两个数,使 a > b
if a < b:
a, b = b, a
# 从大到小枚举可能的公约数
for i in range(b, 0, -1):
# 如果 i 同时是 a 和 b 的公约数,则 i 是最大公约数
if a % i == 0 and b % i == 0:
print("最大公约数是:", i)
break
```
在这个程序中,首先输入两个数 `a` 和 `b`,然后使用穷举法从大到小枚举可能的公约数。如果某个数 `i` 同时是 `a` 和 `b` 的公约数,则 `i` 就是最大公约数,程序输出 `i` 并结束。注意,在枚举过程中,我们从 `b` 开始往下枚举,因为最大公约数不可能超过较小的那个数。同时,为了方便比较,我们在开始之前还交换了 `a` 和 `b`。
相关问题
python用穷举法求两个数的最大公约数代码
以下是用 Python 实现用穷举法求两个数的最大公约数的代码:
```python
def gcd(a, b):
if a > b:
smaller = b
else:
smaller = a
for i in range(1, smaller+1):
if((a % i == 0) and (b % i == 0)):
gcd = i
return gcd
```
其中,函数 `gcd(a, b)` 的功能是求出 a 和 b 的最大公约数。这里使用了穷举法,从 1 到较小的那个数开始遍历,如果同时能被 a 和 b 整除,就更新最大公约数的值。最后返回最大公约数的值。
Python用穷举法计算两个给定正整数的最大公约数
好的,您可以尝试以下代码实现:
```python
def gcd(a, b):
"""
计算两个正整数的最大公约数
"""
if a > b:
smaller = b
else:
smaller = a
for i in range(1, smaller+1):
if((a % i == 0) and (b % i == 0)):
gcd = i
return gcd
a = 54
b = 24
print("最大公约数为:", gcd(a, b))
```
这个程序使用了穷举法来计算两个正整数的最大公约数。它首先找到两个数中的较小值,然后从1到这个较小值之间的所有整数进行循环遍历,找到同时能够被两个数整除的最大值,即为它们的最大公约数。
阅读全文