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

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

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

इसे हल करने के लिए, हम कुछ चरणों का पालन इस प्रकार करेंगे -

  • दिए गए सरणी को क्रमबद्ध करें

  • फिर अंतिम तत्व से सबसे बड़े तत्व को ठीक करना शुरू करें और अन्य दो संख्याओं को खोजने के लिए सरणी को पार करें जो तीसरे तत्व के योग हैं।

  • दो अंक j और k लें, j पहले से है, k अंतिम से है, i-1 से दो संख्याओं में से सबसे छोटी संख्या ज्ञात करने के लिए शेष दो संख्याओं में से सबसे बड़ी संख्या ज्ञात करें।

  • यदि दोनों संख्याओं का योग अभी भी Arr[i] से कम है, तो हमें दो संख्याओं के योग का मान बढ़ाना होगा, जिससे j सूचक को बढ़ाना होगा, ताकि Arr[j] + Arr[ का मान बढ़ाया जा सके। कश्मीर]

  • यदि दोनों संख्याओं का योग Arr[i] से अधिक है, तो हमें दो संख्याओं के योग के मान को कम करने की आवश्यकता है, जिससे सूचक k घट जाता है, जिससे Arr[j] + Arr[k का समग्र मान घट जाता है। ]

उदाहरण

#include<iostream>
#include<algorithm>
#define N 5
using namespace std;
void getValueTriplet(int arr[], int n) {
   sort(arr, arr + n);
   for (int i = n - 1; i >= 0; i--) {
      int j = 0;
      int k = i - 1;
      while (j < k) {
         if (arr[i] == arr[j] + arr[k]) {
            cout << "The numbers are " << arr[i] << " " << arr[j] << " " << arr[k] << endl;
            return;
         }
         else if (arr[i] > arr[j] + arr[k])
         j += 1;
         else
         k -= 1;
      }
   }
   cout << "No such triplet exists";
}
int main() {
   int arr[] = { 5, 32, 1, 7, 10, 50, 19, 21, 2 };
   int n = sizeof(arr) / sizeof(arr[0]);
   getValueTriplet(arr, n);
}

आउटपुट

The numbers are 21 2 19

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

  1. सी ++ प्रोग्राम 'के' को खोजने के लिए ऐसा है कि प्रत्येक सरणी तत्व के साथ इसका मॉड्यूलस समान है

    इस लेख में, हम एक पूर्णांक k को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जैसे कि किसी दिए गए सरणी के प्रत्येक तत्व के साथ इसका मापांक समान हो। उदाहरण के लिए, मान लें कि हमें एक सरणी दी गई है, arr = {12, 22, 32} तब हमारे पास k =1, 2, 5, 10 का आउटपुट मान होता है। y) में दो मानों का मामला लें। तब ह

  1. सी ++ प्रोग्राम अद्वितीय जोड़े खोजने के लिए जैसे कि प्रत्येक तत्व एन से कम या बराबर है

    इस लेख में, हम एन से कम या उसके बराबर तत्वों वाली संख्याओं के अद्वितीय जोड़े खोजने और कुछ निश्चित शर्तों का पालन करने के लिए एक कार्यक्रम पर चर्चा करेंगे - दो संख्याओं के बीच के अंतर का वर्ग उन दो संख्याओं के एलसीएम के बराबर होना चाहिए। उन दो संख्याओं के HCF को किन्हीं दो क्रमागत संख्याओं के ग