इस लेख में हम यह देखने जा रहे हैं कि संख्याओं के युग्मों की संख्या कैसे गिनें जिनका सटीक अंतर k के बराबर है। दिए गए नंबर एक सूची के रूप में हैं और हम प्रोग्राम को k का मान देते हैं।
लूप के लिए उपयोग करना
इस दृष्टिकोण में हम दो लूप के लिए डिज़ाइन करते हैं, एक दूसरे के अंदर। लूप के लिए बाहरी दी गई सूची के प्रत्येक तत्व पर जाने का ट्रैक रखता है। लूप के लिए आंतरिक शेष तत्वों में से प्रत्येक की बाहरी लूप के तत्व के साथ तुलना करता रहता है और यदि आवश्यक अंतर से मेल खाता है तो गिनती चर के मूल्य में वृद्धि करता है।
उदाहरण
listA = [5, 3, 7, 2, 9] k = 2 count = 0 # Elements of the list for i in range(0, len(listA)): # Make pairs for j in range(i + 1, len(listA)): if listA[i] - listA[j] == k or listA[j] - listA[i] == k: count += 1 print("Required Pairs: ",count)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Required Pairs: 3
लूप के दौरान उपयोग करना
एक अन्य दृष्टिकोण में हम इफ क्लॉज के साथ जबकि लूप का उपयोग करते हैं। यहां हम वर्तमान और अगली अनुक्रमणिका को इस आधार पर बढ़ाते रहते हैं कि दोनों जोड़ियों के बीच का अंतर आवश्यक अंतर से मेल खाता है या नहीं।
उदाहरण
listA = [5, 3, 7, 2, 9] k = 2 count = 0 listA.sort() next_index = 0 current_index = 0 while current_index < len(listA): if listA[current_index] - listA[next_index] == k: count += 1 next_index += 1 current_index += 1 elif listA[current_index] - listA[next_index] > k: next_index += 1 else: current_index += 1 print("Required Pairs: ",count)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Required Pairs: 3