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 

विधि 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 सम है। हमें वह मान ढूंढना है जो सरणी को संतुलित करने के लिए आवश्यक है। चूंकि सरणी का आकार सम है, तो हम दो हिस्से बना सकते हैं। बाएं आधे का योग और दाएं आधे का योग संतुलित होना चाहिए। इसलिए यदि सरणी A = [1, 2, 3, 2, 5, 3] की तरह है, तो बाएं आधे का योग

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

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

  1. - C++ में ऐरे में न्यूनतम संख्या जोड़कर योग को सम बनाना

    मान लीजिए एक ऐरे है जिसमें कुछ संख्याएं हैं। हमें बताना है कि न्यूनतम कितनी संख्याएं जोड़ने से तत्वों का योग सम हो जाएगा। संख्या 0 से बड़ी होनी चाहिए। इसलिए यदि तत्वों का योग विषम है, तो हम 1 जोड़ेंगे, लेकिन यदि योग पहले से सम है, तो हम 2 जोड़कर इसे सम बनाएंगे। एल्गोरिदम addMinNumber(arr) begin