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

โปรแกรมนับจำนวนตัวหารร่วมของตัวเลขสองตัวใน Python


สมมติว่าเรามีตัวเลขสองตัว 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
  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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