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

C++ में पूर्णांक में सम और विषम अंकों की गिनती करें


हमें एक पूर्णांक संख्या दी गई है और कार्य एक अंक में सम संख्याओं और विषम संख्याओं की गिनती करना है। साथ ही, हम इस बात पर नज़र रखेंगे कि क्या एक पूर्णांक में सम अंक सम संख्या में बार आ रहे हैं और विषम अंक विषम संख्या में बार आ रहे हैं।

उदाहरण के लिए

इनपुट - अंक = 12345 आउटपुट - सम अंकों की गिनती = 2       विषम अंकों की गिनती = 3

व्याख्या - हां, साथ ही, सम अंक सम संख्या में बार आ रहे हैं यानी 2 और विषम अंक विषम संख्या में बार आ रहे हैं यानी 3

इनपुट - अंक = 44556 आउटपुट - सम अंकों की गिनती = 3       विषम अंकों की गिनती = 2

व्याख्या-: नहीं, क्योंकि सम अंक विषम संख्या में बार आ रहे हैं यानी 3 और विषम अंक सम संख्या में बार आ रहे हैं यानी 2

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • सम और विषम अंकों से युक्त एक पूर्णांक मान इनपुट करें

  • दो चर घोषित करें, एक विषम अंकों को गिनने के लिए और दूसरा सम अंकों को गिनने के लिए और उन्हें 0 से आरंभ करें।

  • लूप शुरू करें, जब तक अंक 0 से बड़ा है और इसे "अंक/10" से घटाएं ताकि हम पूर्णांक में अलग-अलग अंक प्राप्त कर सकें।

  • यदि अंक 2 से विभाज्य है तो यह सम होगा अन्यथा यह विषम होगा।

  • यदि मिला अंक सम है, तो सम की गिनती को 1 से बढ़ाएं और यदि मिला अंक विषम है, तो विषम की गिनती को 1 से बढ़ाएं

  • अब, यह जांचने के लिए कि क्या सम अंक सम संख्या में बार आ रहे हैं, सम गिनती को 2 से विभाजित करें, यदि यह 0 आता है तो यह सम संख्या में बार आ रहा है अन्यथा यह विषम संख्या में बार आ रहा है।

  • और यह जांचने के लिए कि क्या विषम अंक विषम संख्या में बार आ रहे हैं, विषम गिनती को 2 से विभाजित करें, यदि यह !0 आता है तो यह विषम संख्या में बार आ रहा है अन्यथा यह सम संख्या में बार आ रहा है।

  • परिणाम प्रिंट करें।

उदाहरण

#include <iostream>
using namespace std;

int main() {
    int n = 12345, e_count = 0, o_count = 0;
    int flag;
    while (n > 0) {
        int rem = n % 10;
        if (rem % 2 == 0) {
            e_count++;
        } else {
            o_count++;
        }
        n = n / 10;
    }
    cout << "Count of Even numbers : " << e_count;
    cout << "\nCount of Odd numbers : " << o_count;
    // जांचें कि सम संख्याओं की गिनती सम है और विषम संख्याओं की गिनती विषम है
    if (e_count % 2 == 0 && o_count % 2 != 0) {
        flag = 1;
    } else {
        flag = 0;
    }
    if (flag == 1) {
        cout << "\nYes " << endl;
    } else {
        cout << "\nNo " << endl;
    }
    return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

Count of Even numbers : 2 Count of Odd numbers : 3 Yes

  1. - C++ में एरे में सम और विषम इंडेक्स वाले तत्वों का निरपेक्ष अंतर

    एक एरे समान डेटा प्रकार के कई तत्वों का एक कंटेनर है। तत्वों का इंडेक्स 0 से शुरू होता है यानी पहले तत्व का इंडेक्स 0 होता है। इस समस्या में, हमें दो सम इंडेक्स वाली संख्या और दो विषम इंडेक्स वाली संख्या के बीच निरपेक्ष अंतर ज्ञात करना है। सम इंडेक्स वाली संख्या = 0,2,4,6,8... विषम इंडेक्स वाली संख

  1. - C++ में ऐरे के सम और विषम इंडेक्स वाले तत्वों का निरपेक्ष अंतर

    यहां हम देखेंगे कि ऐरे में सम और विषम इंडेक्स वाले तत्वों के निरपेक्ष अंतर कैसे प्राप्त करें। निरपेक्ष अंतर इंगित करता है कि यदि किसी जोड़े का अंतर ऋणात्मक है, तो निरपेक्ष मान लिया जाएगा। उदाहरण के लिए, संख्याएं हैं {1, 2, 3, 4, 5, 6, 7, 8, 9}। तो सम स्थान वाले तत्व हैं 1, 3, 5, 7, 9 (0 से शुरू), और

  1. - विषम और सम अंकों के योग के बीच अंतर

    समस्या कथन एक दी गई लंबी पूर्णांक n के साथ, विषम अंकों के योग और सम अंकों के योग के बीच अंतर 0 है या नहीं, यह जांचने के लिए एक प्रोग्राम लिखें। इंडेक्स 0 से शुरू होता है। उदाहरण n = 1212112 विषम स्थिति के तत्वों का योग = 2 + 2 + 1 = 5 सम स्थिति के तत्वों का योग = 1 + 1 + 1 + 2 = 5 अंतर = 5 - 5 = 0