Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

किसी सरणी में न्यूनतम संख्या जोड़ें ताकि योग C प्रोग्रामिंग में सम हो जाए

किसी सरणी को देखते हुए, सरणी में न्यूनतम संख्या (जो 0 से अधिक होनी चाहिए) जोड़ें ताकि सरणी का योग सम हो जाए।

इनपुट - 1 2 3 4,

आउटपुट - 2

स्पष्टीकरण - सरणी का योग 10 है, इसलिए हम

योग को सम बनाने के लिए न्यूनतम संख्या 2 जोड़ें।

विधि 1 :सरणी के सभी तत्वों के योग की गणना करें, फिर जांचें कि क्या योग सम है तो न्यूनतम संख्या 2 जोड़ें, अन्यथा न्यूनतम संख्या 1 जोड़ें।

इनपुट - 1 2 3 4,

आउटपुट - 2

स्पष्टीकरण - सरणी का योग 10 है, इसलिए योग को सम बनाने के लिए न्यूनतम संख्या 2 जोड़ें।

उदाहरण

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4};
   int n=4;
   int sum=0;
   for (int i = 0; i <n; i++) {
      sum+=arr[i];
   }
   if (sum % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

विधि 2 - सरणी में तत्वों की विषम संख्या की गणना करें। यदि मौजूद विषम संख्याओं की संख्या भी है तो हम 2 लौटाते हैं, अन्यथा हम 1 लौटते हैं।

इनपुट - 1 2 3 4 5

आउटपुट - 1

स्पष्टीकरण - नहीं। सरणी में 3 . है
योग को सम बनाने के लिए न्यूनतम संख्या 1 जोड़ें।

उदाहरण

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   int odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd += 1;
      }
   }
   if (odd % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

विधि 3 - एक ध्वज चर लें (0 के रूप में आरंभ)। जब भी हम सरणी में विषम तत्व पाते हैं तो हम बूलियन चर पर NOT(!) ऑपरेशन करते हैं। यह तार्किक ऑपरेटर ध्वज चर के मान को उलट देता है (अर्थात यदि यह 0 है, तो यह चर को 1 में परिवर्तित करता है और इसके विपरीत)।

इनपुट - 1 2 3 4 5

आउटपुट - 1

स्पष्टीकरण - वैरिएबल को 0 के रूप में इनिशियलाइज़ किया गया।
सरणी को ट्रैवर्स करना
1 विषम है, परिवर्तनशील परिवर्तित 1.
2 सम है
3 विषम है, परिवर्तनशील 0 बदल गया है।
4 सम है
5 विषम है, परिवर्तनशील परिवर्तित 1

यदि चर मान 1 है तो इसका मतलब है कि विषम संख्या में विषम तत्व मौजूद हैं, तत्वों का योग बनाने के लिए न्यूनतम संख्या 1 जोड़कर है।

वरना न्यूनतम संख्या 2 है।

उदाहरण

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   bool odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd = !odd;
      }
   }
   if (odd) {
      cout <<"1";
   } else {
      cout <<"2";
   }
   return 0;
}

  1. जोड़ा जाने वाला न्यूनतम मान ज्ञात करें ताकि सरणी C++ में संतुलित हो जाए

    मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। और n सम है। हमें उस मान को खोजना होगा जो सरणी को संतुलित करने के लिए आवश्यक है। चूंकि सरणी का आकार सम है, तो हम दो भाग बना सकते हैं। बाएँ आधे का योग और दाएँ आधे का योग संतुलित होना चाहिए। तो अगर सरणी ए =[1, 2, 3, 2, 5, 3] की तरह है तो बाएं आधे का

  1. तत्वों की न्यूनतम संख्या जिन्हें C++ का उपयोग करके सरणी को अच्छा बनाने के लिए हटाया जाना चाहिए।

    समस्या कथन एक सरणी गिरफ्तारी को देखते हुए, कार्य सरणी को अच्छा बनाने के लिए हटाए जाने वाले तत्वों की न्यूनतम संख्या को खोजना है। अनुक्रम a1, a2, a3. . .an को अच्छा कहा जाता है यदि प्रत्येक तत्व a[i] के लिए एक तत्व a[j] (i के बराबर नहीं है) मौजूद है जैसे कि a[i] + a[j] दो की शक्ति है। arr1[] = {1,

  1. किसी सरणी में न्यूनतम संख्या जोड़ें ताकि योग C++ में भी हो जाए?

    मान लीजिए कि कुछ संख्याओं के साथ एक सरणी है। हमें कम से कम यह बताना होगा कि तत्वों के योग को सम बनाने के लिए इसमें कितनी संख्याएँ जोड़ी जाएँगी। संख्या 0 से अधिक होनी चाहिए। इसलिए यदि तत्वों का योग विषम है, तो हम 1 जोड़ देंगे, लेकिन यदि योग पहले से ही सम है, तो हम इसे सम बनाने के लिए इसमें 2 जोड़ दें