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[k] का मान बढ़े

  • यदि दोनों संख्याओं का योग 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. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

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

  1. - C++ प्रोग्राम: 'k' खोजें जैसे कि प्रत्येक एरे तत्व के साथ इसका मॉड्यूलस समान हो

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

  1. - C++ प्रोग्राम: अद्वितीय जोड़े ढूंढें जहां प्रत्येक तत्व N से कम या बराबर हो

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