在Python中查找元素列表的最大公因数

在Python中查找元素列表的最大公因数

假设我们有一个元素列表称为nums,则我们必须找到可以整除所有整数的最大正整数值。

因此,如果输入为nums = [15, 81, 78],则输出将为3,因为3是可以整除所有15、81和78的最大整数。

为了解决这个问题,我们将遵循以下步骤:

  • 如果nums的大小与1相同,则
    • 返回nums [0]
  • div:= nums [0]和nums [1]的最大公约数)

  • 如果nums的大小与2相同,则

    • 返回div
  • 对于范围从1到nums大小-2的i,执行以下操作
    • div:= div和nums [i + 1]的最大公约数

    • 如果div与1相同,则

      • 返回div
  • 返回div

例子

让我们看一下以下实现以获得更好的理解

from math import gcd
def solve(nums):
   if len(nums) == 1:
      return nums[0]

   div = gcd(nums[0], nums[1])

   if len(nums) == 2:
      return div

   for i in range(1, len(nums) - 1):
      div = gcd(div, nums[i + 1])
      if div == 1:
         return div

return div

nums = [15, 81, 78]
print(solve(nums))

输入

[15, 81, 78]

输出

3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程