इस लेख में हम देखेंगे कि उन संख्याओं के युग्मों की संख्या कैसे गिनें जिनका अंतर ठीक k के बराबर है। दी गई संख्याएं सूची के रूप में हैं और हम प्रोग्राम को k का मान प्रदान करते हैं।
फॉर लूप का उपयोग करके
इस दृष्टिकोण में हम दो फॉर लूप डिज़ाइन करते हैं, एक दूसरे के अंदर। बाहरी फॉर लूप दी गई सूची के प्रत्येक तत्व पर जाने का ट्रैक रखता है। आंतरिक फॉर लूप बाहरी लूप के तत्व के साथ शेष प्रत्येक तत्व की तुलना करता रहता है और यदि यह आवश्यक अंतर से मेल खाता है तो काउंट चर का मान बढ़ाता है।
उदाहरण
listA = [5, 3, 7, 2, 9]
k = 2
count = 0
# सूची के तत्व
for i in range(0, len(listA)):
# युग्म बनाएं
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
व्हाइल लूप का उपयोग करके
एक अन्य दृष्टिकोण में हम if else क्लॉज के साथ व्हाइल लूप का उपयोग करते हैं। यहां हम वर्तमान और अगले सूचकांक को बढ़ाते रहते हैं यह इस बात पर निर्भर करता है कि दो युग्मों के बीच का अंतर आवश्यक अंतर से मेल खाता है या नहीं।
उदाहरण
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