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

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


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

हम सभी सबस्ट्रिंग के पहले मान की जांच करके ऐसा करेंगे, यदि यह 0 है तो संख्या भी 1 है तो संख्या विषम होगी। लंबाई-i द्वारा वृद्धि की गणना, क्योंकि इस sbstr[0]='0' के साथ सभी सबस्ट्रिंग दशमलव में भी होंगे।

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

इनपुट - str="101"

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

स्पष्टीकरण - संभव सबस्ट्रिंग हैं:10, 11, 01, 0, 1 जिनमें से 01 है 2 और 0 है 0, 2 सम हैं।

इनपुट - str="111"

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

स्पष्टीकरण − सबस्ट्रिंग संभव हैं - 11,1 जिनमें से कोई भी सम नहीं है।

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

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

  • str की लंबाई को len=str.length()

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

  • फ़ोर लूप का उपयोग करके ट्रैवर्स स्ट्रिंग

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

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

  • वेतन वृद्धि की गणना लंबाई-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 of even decimal value substrings in a binary string are: "<<count_even(str, len) << endl;
   return 0;
}

आउटपुट

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

Count of even decimal value substrings in a binary string are: 9

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ में बाइनरी ट्री में मैक्सिमम वैल्यू रूट्स की गणना करना

    मान लीजिए कि हमारे पास एक बाइनरी ट्री रूट है; हमें नोड्स की संख्या गिननी होगी जहां इसका मान इसके सभी वंशजों के मूल्यों से अधिक या बराबर है। तो, अगर इनपुट पसंद है तो आउटपुट 4 होगा क्योंकि 3 को छोड़कर सभी नोड्स, यह मानदंडों को पूरा करता है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - फ़ंक

  1. C++ में द्विआधारी से दशमलव रूपांतरण के लिए कार्यक्रम

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