Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตัวหารร่วมมากใน Python

สมมติว่าเรามีรายการตัวเลขบวกชื่อ nums เราต้องหาตัวเลขบวกที่มากที่สุดที่หารตัวเลขแต่ละตัวได้

ตัวอย่าง

หากอินพุตคือ [14, 28, 70, 56] ผลลัพธ์จะเป็น 14

ขั้นตอนการแก้ปัญหา

  1. ans := องค์ประกอบแรกของ nums
  2. สำหรับแต่ละ x ใน nums:
    • ans := gcd ของ ans และ x
  3. คืนค่า ans

การใช้งาน

import math

class Solution:
    def solve(self, nums):
        ans = nums[0]
        for x in nums:
            ans = math.gcd(ans, x)
        return ans

ob = Solution()
print(ob.solve([14, 28, 70, 56]))

อินพุต

[14, 28, 70, 56]

เอาต์พุต

14