我需要尽可能地简化三个数字,因此我需要最大的共同因素。
现在,我正在迭代3下面的所有数字,并检查它是否可以被它们整除,但是我要处理非常大的数字,所以效率很低。是否有更有效的方法来找到绿色气候变化框架?
发布于 2014-12-31 20:50:56
好吧,你在标准库里有一些东西
import fractions
fractions.gcd(100, fractions.gcd(10, 20))
10发布于 2018-12-11 12:03:36
如果有人在寻找缓慢(但非常简单)的方法来完成这个任务:
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))其中的指纹:
[2, 5] -> 1
[12, 4, 24] -> 4https://stackoverflow.com/questions/27726184
复制相似问题