मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। हमें ज्ञात करना है कि कितने धनात्मक पूर्णांक हैं, जो a और b दोनों के भाजक हैं।
इसलिए, यदि इनपुट a =288 b =240 जैसा है, तो आउटपुट 10 होगा क्योंकि सामान्य भाजक [1,2,3,4,6,8,12,16,24,48] हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- res :=0
- i श्रेणी 1 से gcd(a, b) + 1, do
- . के लिए
- यदि (एक मॉड i) 0 है और (b mod i) 0 है, तो
- रेस :=रेस + 1
- यदि (एक मॉड 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