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

एआर [जे] - एआर [i] + एआर [एल] - एआर [के] को अधिकतम करें, जैसे कि मैं <जे <के <एल सी ++ में

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

एआर [जे] -एआर [आई] + एआर [एल] -एआर [के]; i

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

इनपुट

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

आउटपुट

Maximum value for above expression is : 2

स्पष्टीकरण - i . के लिए

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

इनपुट

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

आउटपुट

Maximum value for above expression is : 0

स्पष्टीकरण − i . के किसी भी मान के लिए

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

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • पूर्णांक सरणी a[] संख्याओं को संग्रहीत करता है।

  • फ़ंक्शन maxSum(int arr[], int n) इनपुट के रूप में सरणी और इसकी लंबाई n लेता है और arr[j]-arr[i]+arr[l]-arr[k] का अधिकतम मान लौटाता है जैसे कि i

  • वेरिएबल योग का उपयोग 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] की गणना करें और योग में स्टोर करें

  • यदि वर्तमान योग>=अधिकतम अद्यतन अधिकतम।

  • अंत में वांछित परिणाम के रूप में अधिकतम वापसी करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
// function to maximize the sum of selected numbers
int maximizeSum(int arr[], int n) {
   int sum=0;
   int maxx=arr[0];
   for(int i=0;i<n-3;i++)
      for(int j=i+1;j<n-2;j++)
         for(int k=j+1;k<n-1;k++)
         for(int l=k+1;l<n;l++){
      sum=arr[j]-arr[i]+arr[l]-arr[k];
      if(sum>=maxx)
         maxx=sum;
   }
   return maxx;
}
int main(){
   int a[] = {5, 3, 9, 2, 20};
   int n = sizeof(a) / sizeof(a[0]);
   cout <<"Maximized value is :"<< maximizeSum(a, n);
   return 0;
}

आउटपुट

Maximized value is :24

  1. न्यूनतम धनात्मक पूर्णांक x इस प्रकार ज्ञात कीजिए कि a(x^2) + b(x) + c>=k in C++

    मान लीजिए कि हमारे पास चार पूर्णांक a, b, c और k हैं। हमें न्यूनतम धनात्मक मान x ज्ञात करना है, जैसे कि निम्न समीकरण संतुष्ट करता है - 𝑎𝑥2+𝑏𝑥+𝑐 ≥𝑘 यदि a =3, b =4, c =5 और k =6, तो आउटपुट 1 . होगा इसे हल करने के लिए, हम द्विभाजन दृष्टिकोण का उपयोग करेंगे। निचली सीमा 0 होगी क्योंकि x का न्य

  1. सरणी में सबसे बड़ा d इस प्रकार ज्ञात कीजिए कि a + b + c =d C++ . में

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

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

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