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