用 Python 编写程序,查找元素列表的最大公因数

pythonserver side programmingprogramming更新于 2025/12/18 1:16:17

假设我们有一个名为 nums 的元素列表,我们必须找到能够整除每个整数的最大正值。

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

要解决这个问题,我们将遵循以下步骤 −

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

    • 返回 nums[0]

  • div := nums[0] and nums[1] 的 gcd)

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

    • 返回 div

  • 对于 i 在 1 到 nums 的大小 - 2 范围内的情况,执行

    • div := div 和 nums[i + 1] 的 gcd

    • 如果 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

相关文章


有用资源