1. 程式設計問題:
最大公約數 (GCD) 是兩個或多個整數的公約數中最大的乙個。 例如,12 和 18 的最大公約數是 6。
編寫乙個程式來查詢數字列表的最大公約數。
定義函式 find gcd of numbers(),它採用引數 numbers 列表。
在函式內部,計算並返回列表中數字的最大公約數。
首先,優化函式 gcd(),該函式用於計算兩個數的最大公約數。 在 find gcd of numbers() 中使用此 gcd() 函式來計算數字列表的最大公約數。 示例輸入。
示例輸出。 解釋:1 是最大的正整數,即最大的公約數,可以被所有給定的數字整除,不留餘數。
2. 實施:
可編輯 ** 如下:
#!/usr/bin/python3.9
# -*coding: utf-8 -*
## copyright (c) 2024 , inc. all rights reserved
## @time : 2024/2/16 18:12
# @author : fangel
# @filename : 110.列表中的最大公約數。 py
# @software : pycharm
定義用於查詢最大公約數的函式。
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def find_gcd_of_numbers(numbers_list):
i = 0 將列表中的第乙個元素分配給 resgcd
resgcd = numbers_list[0]
遍歷列表,繼續查詢前兩個數字和下乙個數字的最大公約數。
while i < len(numbers_list) -1:
resgcd = gcd(resgcd, numbers_list[i + 1])
i += 1
return resgcd
接受整數輸入並轉換為列表。
numbers_list = list(map(int, input().split())
呼叫函式。
print(find_gcd_of_numbers(numbers_list))
三、分析:
數字列表的最大公約數可以通過逐個計算當前結果的最大公約數與列表中的下乙個數字來計算。
4、執行結果:2月**動態激勵計畫投入:
輸出: