枚举法求约数Python
时间: 2023-12-25 14:26:56 浏览: 88
以下是使用枚举法求一个数的所有约数的Python代码:
```python
def get_divisors(num):
divisors = []
for i in range(1, num+1):
if num % i == 0:
divisors.append(i)
return divisors
```
这个函数接受一个整数作为参数,返回一个列表,包含这个整数的所有约数。函数通过枚举从1到这个整数本身的所有数,判断是否是这个整数的约数,如果是则加入到结果列表中。
相关问题
python 求最大公约数
最大公约数可以使用多种方法进行求解。其中,常见的方法有暴力枚举法、辗转相除法和更相减损术。在Python中,我们可以使用以下代码来求两个数的最大公约数:
1. 暴力枚举法:
def get_greatest_common_divisor(a, b):
big = max(a, b)
small = min(a, b)
if big % small == 0:
return small
for i in range(small // 2, 1, -1):
if small % i == 0 and big % i == 0:
return i
return 1
print(get_greatest_common_divisor(26, 13))
2. 辗转相除法:
def get_greatest_common_divisor_V2(a, b):
big = max(a, b)
small = min(a, b)
if big % small == 0:
return small
return get_greatest_common_divisor_V2(big % small, small)
print(get_greatest_common_divisor_V2(26, 13))
3. 更相减损术:
def get_greatest_common_divisor_V3(a, b):
if a == b:
return a
big = max(a, b)
small = min(a, b)
return get_greatest_common_divisor_V3(big - small, small)
print(get_greatest_common_divisor_V3(26, 13))
以上任何一种方法都可以求解最大公约数,根据具体的需求和情况选择合适的方法即可。
python while循环求3个数的最大公约数穷举法
好的,我了解了您的要求。以下是使用 Python 实现的三个数的最大公约数穷举法:
```python
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
c = int(input("请输入第三个数:"))
min_num = min(a, b, c)
gcd = 1
for i in range(2, min_num+1):
if a % i == 0 and b % i == 0 and c % i == 0:
gcd = i
print("三个数的最大公约数为:", gcd)
```
以上代码是通过循环枚举所有可能的公约数,并筛选出最大的一个,作为三个数的最大公约数。
阅读全文