สมมติว่าเรามีรายการองค์ประกอบที่เรียกว่า nums เราต้องหาค่าบวกที่ใหญ่ที่สุดที่หารจำนวนเต็มแต่ละตัว
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[15, 81, 78] ผลลัพธ์จะเป็น 3 เนื่องจาก 3 เป็นจำนวนเต็มที่มากที่สุดที่หารทั้งหมด 15, 81 และ 78
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ถ้าขนาดของตัวเลขเท่ากับ 1 แล้ว
-
ส่งคืนหมายเลข[0]
-
-
div :=gcd ของ nums[0] และ nums[1])
-
ถ้าขนาดของ nums เท่ากับ 2 แล้ว
-
ส่งคืน div
-
-
สำหรับฉันในช่วง 1 ถึงขนาด nums - 2 ทำ
-
div :=gcd ของ 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