首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最有效的方法是找出三个数字中最大的共同因素?

最有效的方法是找出三个数字中最大的共同因素?
EN

Stack Overflow用户
提问于 2014-12-31 20:46:06
回答 2查看 2.2K关注 0票数 4

我需要尽可能地简化三个数字,因此我需要最大的共同因素。

现在,我正在迭代3下面的所有数字,并检查它是否可以被它们整除,但是我要处理非常大的数字,所以效率很低。是否有更有效的方法来找到绿色气候变化框架?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-31 20:50:56

好吧,你在标准库里有一些东西

代码语言:javascript
复制
import fractions
fractions.gcd(100, fractions.gcd(10, 20))
10
票数 4
EN

Stack Overflow用户

发布于 2018-12-11 12:03:36

如果有人在寻找缓慢(但非常简单)的方法来完成这个任务:

代码语言:javascript
复制
def find_divisors(number):
    divisors = []
    for i in range(1, number + 1):
        if number % i == 0:
            divisors.append(i)
    return divisors

def find_greatest_common_divisor(numbers):
    divisors = [set(find_divisors(number)) for number in numbers]
    common_divisors = set.intersection(*divisors)
    greatest_common_divisor = max(common_divisors)
    return greatest_common_divisor

test_1 = [2, 5]
test_2 = [12, 4, 24]
print(test_1, "->", find_greatest_common_divisor(test_1))
print(test_2, "->", find_greatest_common_divisor(test_2))

其中的指纹:

代码语言:javascript
复制
[2, 5] -> 1
[12, 4, 24] -> 4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27726184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档