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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP