Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

ट्रिपलेट्स की गणना करें जैसे कि सी ++ में संख्याओं में से एक को अन्य दो के योग के रूप में लिखा जा सकता है

हमें लंबाई n वाले पूर्णांकों की एक सरणी Arr[] दी गई है। लक्ष्य त्रिगुणों की संख्या ज्ञात करना है(Arr[i],Arr[j],Arr[k]) ताकि किन्हीं दो संख्याओं का योग तीसरी संख्या के बराबर हो।

a+b=c, जहां a,b,c, Arr[] के अवयव हैं जिनमें अनुक्रमणिका i,j,k इस प्रकार है कि 0<=i

इनपुट

arr[]= { 1,2,2,3,4 }, N=5

आउटपुट

Number of triplets: 4

स्पष्टीकरण

गिरफ्तारी के साथ ट्रिपल [x]+arr[y]=arr[z]।

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

कुल ट्रिपल:4

इनपुट

arr[]= {2,2,2,2,2}, N=5

आउटपुट

Number of triplets: 0

स्पष्टीकरण

प्रत्येक दो संख्याओं का योग =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] अगर सच तो वृद्धि की गिनती।

  • सभी लूपों के अंत में काउंट में शर्त को पूरा करने वाले ट्रिपल की कुल संख्या होगी।

  • परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#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

  1. सी ++ में अन्य सभी तत्वों के योग को विभाजित करने वाले सरणी तत्वों की गणना करें

    हमें एक सरणी दी गई है मान लीजिए, पूर्णांक मानों की गिरफ्तारी [] और कार्य सरणी तत्वों की गणना की गणना करना है जो अन्य सभी तत्वों के योग को विभाजित करता है। एक प्रकार की डेटा संरचना को व्यवस्थित करता है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत कर सकता है। डेटा के स

  1. ऐसा त्रिक ज्ञात कीजिए कि C++ में दो का योग तीसरे तत्व के बराबर हो

    मान लीजिए कि n संख्याओं की एक सरणी है। हमें तीन संख्याएँ ज्ञात करनी हैं, जैसे कि दो तत्वों का योग तीसरे के समान है। तो अगर सरणी [5, 32, 1, 7, 10, 50, 19, 21, 2] की तरह है, तो आउटपुट 21, 2, 19 होगा। यदि ऐसा कोई तत्व नहीं मिला है, तो उस संदेश को प्रदर्शित करें। इसे हल करने के लिए, हम कुछ चरणों का पाल

  1. जाँच करें कि क्या किसी संख्या को C++ में दो प्रचुर संख्याओं के योग के रूप में व्यक्त किया जा सकता है

    मान लीजिए हमारे पास एक नंबर है। हमें इसे दो प्रचुर संख्या के योग के रूप में व्यक्त करना है, यदि हाँ, तो संख्याओं को प्रिंट करें, अन्यथा -1 को प्रिंट करें। एक संख्या को प्रचुर संख्या कहा जाता है, संख्या के सभी उचित भाजक का योग होता है, जिसे योग (एन) द्वारा दर्शाया जाता है, संख्या के मूल्य से अधिक होत