हमें लंबाई n वाले पूर्णांकों की एक सरणी Arr[] दी गई है। लक्ष्य त्रिगुणों की संख्या ज्ञात करना है(Arr[i],Arr[j],Arr[k]) ताकि किन्हीं दो संख्याओं का योग तीसरी संख्या के बराबर हो।
a+b=c, जहां a,b,c, Arr[] के अवयव हैं जिनमें अनुक्रमणिका i,j,k इस प्रकार है कि 0<=i
गिरफ्तारी के साथ ट्रिपल [x]+arr[y]=arr[z]।
कुल ट्रिपल:4
प्रत्येक दो संख्याओं का योग =4 होता है जो तीसरे =2 के बराबर नहीं होता है।
कुल ट्रिपल:0
हम एक पूर्णांक सरणी लेते हैं Arr[] यादृच्छिक संख्याओं के साथ आरंभ किया गया।
वेरिएबल एन Arr[] की लंबाई को स्टोर करता है।
फंक्शन गिनतीट्रिपलेट्स(int arr[],int n) एक सरणी लेता है, इसकी लंबाई ट्रिपल देता है जिसमें संख्याओं में से एक को अन्य दो के योग के रूप में लिखा जा सकता है
ट्रिपल की संख्या के लिए प्रारंभिक चर गणना को 0 के रूप में लें।
ट्रिपलेट के प्रत्येक तत्व के लिए लूप के लिए तीन का उपयोग करके ट्रैवर्स सरणी।
0<=i
जाँच करें कि क्या गिरफ्तारी [i]+arr[j]==arr[k] या arr[i]+arr[k]==arr[j] या arr[k]+arr[j]==arr[i] अगर सच तो वृद्धि की गिनती।
सभी लूपों के अंत में काउंट में शर्त को पूरा करने वाले ट्रिपल की कुल संख्या होगी।
परिणाम के रूप में गिनती लौटाएं।इनपुट
arr[]= { 1,2,2,3,4 }, N=5
आउटपुट
Number of triplets: 4
स्पष्टीकरण
Arr{}=[ 1,2,2,3,4 ] =(1,2,3) → 1+2=3
Arr{}=[ 1,2,2,3,4 ] =(1,2,3) → 1+2=3
Arr{}=[ 1,2,2,3,4 ] =(1,3,4) → 1+3=4
Arr{}=[ 1,2,2,3,4 ] =(2,2,4) → 2+2=4
इनपुट
arr[]= {2,2,2,2,2}, N=5
आउटपुट
Number of triplets: 0
स्पष्टीकरण
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int countTriplets(int arr[], int n){
int count = 0;
for (int i = 0; i < n-2; i++){
for (int j = i+1; j < n-1; j++){
for (int k = j+1; k < n; k++){
if(arr[i]+arr[j]==arr[k] || arr[j]+arr[k]==arr[i] || arr[k]+arr[i]==arr[j]){ count++;
}
}
}
}
return count;
}
int main(){
int Arr[]={ 1,2,2,3,4 };
int N=5; //length of array
cout <<endl<< "Number of triplets : "<<countTriplets(Arr,N);
return 0;
}
आउटपुट
Number of triplets : 4