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

หา GCD (ตัวหารร่วมมาก) ของอาร์เรย์หลายตัวเลขใน Python

โจทย์: กำหนดอาร์เรย์ตัวเลข หา GCD (Greatest Common Divisor) ของทุกตัว

GCD ของหลายตัว = GCD ของคู่ๆ ซ้ำๆ (pairwise) หรือ ผลคูณเฉพาะตัวประกอบร่วม

โค้ดตัวอย่าง

def findgcd(x, y):
    while y:
        x, y = y, x % y
    return x

l = [22, 44, 66, 88, 99]
num1 = l[0]
num2 = l[1]
gcd = findgcd(num1, num2)
for i in range(2, len(l)):
    gcd = findgcd(gcd, l[i])
print("gcd is:", gcd)

ผลลัพธ์

gcd is: 11

หา GCD (ตัวหารร่วมมาก) ของอาร์เรย์หลายตัวเลขใน Python

สรุป

เรียนรู้วิธีหา GCD ของอาร์เรย์หลายตัวเลข: หา GCD แบบคู่ (pairwise) ซ้ำจนครบทุกตัว