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

C++ में बाइनरी स्ट्रिंग में सम दशमलव मान वाले सबस्ट्रिंग्स की गिनती


हमें केवल 0 और 1 की एक स्ट्रिंग दी गई है। यह स्ट्रिंग बाएं से दाएं पढ़ी जाने वाली एक बाइनरी संख्या को दर्शाती है। यानी 001, 4 है न कि 1। लक्ष्य उन सभी सबस्ट्रिंग्स को ढूंढना है जो एक सम दशमलव संख्या को दर्शाती हैं।

हम इसे सभी सबस्ट्रिंग्स के पहले मान की जांच करके करेंगे, यदि यह 0 है तो संख्या सम है, यदि 1 है तो संख्या विषम होगी। काउंट को length-i से बढ़ाएंगे क्योंकि इस सबस्ट्रिंग[0]='0' से शुरू होने वाले सभी सबस्ट्रिंग्स दशमलव में सम होंगे।

आइए उदाहरणों से समझते हैं।

इनपुट - str="101"

आउटपुट - बाइनरी स्ट्रिंग में सम दशमलव मान वाले सबस्ट्रिंग्स की संख्या: 2

व्याख्या - संभावित सबस्ट्रिंग्स: 10, 11, 01, 0, 1 जिनमें से 01, 2 है और 0, 0 है, 2 सम हैं।

इनपुट - str="111"

आउटपुट - बाइनरी स्ट्रिंग में सम दशमलव मान वाले सबस्ट्रिंग्स की संख्या: 0

व्याख्या - संभावित सबस्ट्रिंग्स: 11, 1 जिनमें से कोई भी सम नहीं है।

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

  • हम केवल 0 और 1 की एक स्ट्रिंग str लेते हैं।

  • str की लंबाई को len=str.length() में स्टोर करते हैं।

  • फंक्शन count_even(string str, int length) स्ट्रिंग और उसकी लंबाई लेता है और सम दशमलव संख्या बनाने वाले सबस्ट्रिंग्स की गिनती लौटाता है।

  • FOR लूप का उपयोग करके स्ट्रिंग को पार करते हैं।

  • इंडेक्स i=0 से i

  • यदि कोई str[i]=='0' है तो उससे शुरू होने वाले सभी सबस्ट्रिंग्स दशमलव में सम होंगे।

  • काउंट को length-i से बढ़ाते हैं।

  • काउंट को परिणाम के रूप में लौटाते हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int count_even(string str, int length){ int count = 0; for (int i = 0; i < length; i++){ if (str[i] == '0'){ count += (length - i); } } return count; } int main(){ string str = "00111"; int len = str.length(); cout<<"बाइनरी स्ट्रिंग में सम दशमलव मान वाले सबस्ट्रिंग्स की संख्या: "<<count_even(str, len) << endl; return 0; }

आउटपुट

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

बाइनरी स्ट्रिंग में सम दशमलव मान वाले सबस्ट्रिंग्स की संख्या: 9

  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की

  1. C++ में बाइनरी ट्री में अधिकतम मूल्य वाले मूल नोड्स की गिनती C++ में बाइनरी ट्री में अधिकतम मूल्य वाले मूल नोड्स की गिनती

    बाइनरी ट्री दिया गया है। उन नोड्स की गिनती करें जिनका मान उनके सभी वंशजों के मानों से बड़ा या बराबर हो। पोस्ट-ऑर्डर DFS: प्रत्येक नोड अपने सबट्री का अधिकतम मान वापस करता है। यदि नोड का मान ≥ max(बाएं_अधिकतम, दाएं_अधिकतम) तो गिनती बढ़ाएं। उदाहरण ट्री के लिए आउटपुट 4 (नोड 3 को छोड़कर सभी)। C++ कार्या

  1. C++ में बाइनरी से डेसिमल रूपांतरण C++ में बाइनरी से डेसिमल रूपांतरण

    एक बाइनरी संख्या इनपुट के रूप में दी गई है, कार्य दी गई बाइनरी संख्या को डेसिमल संख्या में बदलना है। कंप्यूटर में डेसिमल संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि डेसिमल संख्याएं 0-9 से शुरू होने व