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

C++ में arr[j] – arr[i] + arr[l] – arr[k] को अधिकतम करें, जैसे कि i < j < k < l


हमें पूर्णांकों की एक सरणी दी गई है। लक्ष्य अभिव्यक्ति के मान को अधिकतम करना है:

arr[j]-arr[i] + arr[l]-arr[k] ; i

हम सभी तत्वों को पार करके और अभिव्यक्ति के मान की गणना करके ऐसा करेंगे। यदि यह अब तक अधिकतम पाया जाता है तो इसे संग्रहीत करें और अंत में लौटाएं।

इनपुट

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

आउटपुट

उपरोक्त अभिव्यक्ति के लिए अधिकतम मान: 2

व्याख्या: i

arr[j]-arr[i]+arr[l]-arr[k]= 2-1+4-3=1+1=2

इनपुट

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

आउटपुट

उपरोक्त अभिव्यक्ति के लिए अधिकतम मान: 0

व्याख्या: i

arr[j]-arr[i]+arr[l]-arr[k]= 5-5+5-5=0

प्रयुक्त दृष्टिकोण

  • पूर्णांक सरणी a[] संख्याओं को संग्रहीत करती है।
  • फ़ंक्शन maximizeSum(int arr[], int n) सरणी और इसकी लंबाई n को इनपुट के रूप में लेता है और i
  • चर sum का उपयोग arr[j]-arr[i] और arr[l]-arr[k] के योग को संग्रहीत करने के लिए किया जाता है।
  • maxx=arr[0] को प्रारंभिक अधिकतम योग के रूप में आरंभ करें।
  • सरणी को i=0, j=1,k=2, l=3 से i
  • i,j,k,l में प्रत्येक इंडेक्स के लिए arr[j]-arr[i]+arr[l]-arr[k] की गणना करें और sum में संग्रहीत करें।
  • यदि वर्तमान sum>=maxx तो maxx अपडेट करें।
  • अंत में वांछित परिणाम के रूप में maxx लौटाएं।

उदाहरण कोड

#include <bits/stdc++.h> using namespace std; // चयनित संख्याओं के योग को अधिकतम करने का फ़ंक्शन int maximizeSum(int arr[], int n) { int sum=0; int maxx=arr[0]; for(int i=0;i=maxx) maxx=sum; } return maxx; } int main(){ int a[] = {5, 3, 9, 2, 20}; int n = sizeof(a) / sizeof(a[0]); cout <<"अधिकतम मान है: "<< maximizeSum(a, n); return 0; }

आउटपुट

अधिकतम मान है: 24

  1. - C++ में न्यूनतम धनात्मक पूर्णांक x ढूंढें जैसे कि a(x²) + b(x) + c ≥ k

    मान लीजिए हमारे पास चार पूर्णांक a, b, c और k हैं। हमें न्यूनतम धनात्मक मान x ढूंढना है, जैसे कि निम्नलिखित समीकरण संतुष्ट हो - ax² + bx + c ≥ k यदि a = 3, b = 4, c = 5 और k = 6, तो आउटपुट 1 होगा इसे हल करने के लिए, हम बाईसेक्शन दृष्टिकोण का उपयोग करेंगे। निचली सीमा 0 होगी क्योंकि x एक न्यूनतम धन

  1. - C++ में ऐरे में सबसे बड़ा d ढूंढें जैसे कि a + b + c = d

    मान लीजिए हमारे पास पूर्णांकों का एक सेट है। हमें एक संख्या d ढूंढनी है, जहां d = a + b + c, और हमें (a + b + c) को अधिकतम करना है, सभी a, b, c, और d सेट में मौजूद हैं। सेट में कम से कम एक एलिमेंट होगा, और अधिकतम 1000 एलिमेंट्स। प्रत्येक एलिमेंट एक परिमित संख्या होगी। यदि सेट {2, 3, 5, 7, 12} है, त

  1. - C++ में n! % (k^x) = 0 के लिए x का अधिकतम मान ज्ञात करें

    मान लीजिए हमारे पास दो पूर्णांक n और k हैं। हमें x का अधिकतम मान ढूंढना है, जैसे कि n! mod (k^x) = 0। इसलिए जब n = 5, और k = 2, तो आउटपुट 3 होगा। जैसे n! = 120, अब x के विभिन्न मानों के लिए: 120 mod 2^0 = 0, 120 mod 2^1 = 0, 120 mod 2^2 = 0, 120 mod 2^3 = 0, 120 mod 2^4 = 8, 120 mod 2^5 = 24, 120 mo