สมมติว่าเรามีตัวเลขสองตัว a และ b เราต้องหาจำนวนเต็มบวกที่เป็นตัวหารของทั้ง a และ b
ดังนั้น ถ้าอินพุตเป็นเหมือน a =288 b =240 ผลลัพธ์จะเป็น 10 เพราะตัวหารร่วมคือ [1,2,3,4,6,8,12,16,24,48]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- res :=0
- สำหรับฉันอยู่ในช่วง 1 ถึง gcd(a, b) + 1 ทำ
- ถ้า (a mod i) เป็น 0 และ (b mod i) เป็น 0 แล้ว
- res :=res + 1
- ถ้า (a mod i) เป็น 0 และ (b mod i) เป็น 0 แล้ว
- ผลตอบแทน
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
from math import gcd def solve(a, b): res = 0 for i in range(1, gcd(a,b)+1): if (a % i) == 0 and (b % i) == 0: res += 1 return res a, b = 288, 240 print(solve(a, b))
อินพุต
288, 240
ผลลัพธ์
10