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

सी ++ में लगातार शून्य के जोड़े की गणना करें

हमारे पास एक अनुक्रम जनरेटर है जो 1 से शुरू होता है। प्रत्येक चरण पर 0 10 हो जाता है और 1 01 हो जाता है। इसलिए निम्नलिखित परिवर्तन लगातार चरणों में होंगे -

चरण 1 - 01

चरण 2 -1001

चरण 3 - 01101001 ……

लक्ष्य दिए गए चरणों की संख्या के लिए लगातार 0 के जोड़े की संख्या ज्ञात करना है।

यदि इनपुट चरण 0 के - 0 की 1 जोड़ी है, तो इनपुट चरण 0 के - 1 की 2 जोड़ी है, इनपुट चरण 0 के 1 की 3 जोड़ी है

चरण 4 - 1001011001101001

चरण 5 - 01101001100101101001011001101001

हम देख सकते हैं कि अनुक्रम 2 की शक्तियों में बढ़ रहा है और लंबाई 12 के बाद और प्रत्येक 12 वर्णों के लिए खुद को दोहराता है। तो, इन 12 लंबाई अनुक्रमों में लगातार 0 के 2 जोड़े हैं।

चरण S के लिए 12 लंबाई पैटर्न की संख्या 2S /12 होगी

लगातार 2 पैटर्न की संख्या =1 (प्रारंभिक) + 2 X S (शेष 12 लंबाई दोहराव के लिए)

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

इनपुट − चरण =5

आउटपुट − क्रमागत शून्यों के युग्मों की संख्या है − 5

स्पष्टीकरण − जैसा कि 5वें चरण में ऊपर दिखाया गया क्रम है −

Step 5: 01101001100101101001011001101001
Number of pairs of 0’s is 5.
Also with formula : tmp=25
/12= 32/12 = 2, pairs=1+ 2 x 2 = 5

इनपुट - कदम =10

आउटपुट − लगातार शून्य के युग्मों की संख्या है − 171

स्पष्टीकरण − सूत्र के साथ − tmp=210/12=1024/12 =85, जोड़े=1+ 2 x 85 =171

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

हम इनपुट के रूप में कदमों की संख्या लेंगे और जांचेंगे कि क्या चरण =1 तो लगातार 0 के जोड़े की संख्या 0 है। यदि चरण =2 या 3 है तो ऐसे जोड़े की संख्या 1 है।

अन्यथा, सूत्र tmp=2input/12 और जोड़े=1+2*tmp का उपयोग करके गणना करें।

  • चरणों के लिए एक चर दशमलव को इनपुट के रूप में लें।

  • फ़ंक्शन Zero_pairs(int दशमलव) दशमलव लेता है और उस चरण के लिए लगातार शून्य के जोड़े की संख्या देता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • यदि दशमलव<=1, 0 लौटाएं।

  • यदि दशमलव ==2 या दशमलव ==3। फिर वापस आएं 1.

  • अन्यथा temp=(pow(2,decimal))/12 की गणना करें और 2*temp + 1 के रूप में गणना करें।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
int Zero_pairs(int decimal){
   int count = 0;
   if(decimal <=1){
      count = 0;
   }
   else if(decimal == 2 || decimal == 3){
      count = 1;
   }
   else{
      int temp = (pow(2, decimal) / 12);
      count = 2 * temp + 1;
   }
   return count;
}
int main(){
   int decimal = 7;
   cout<<"Count of Pairs Of Consecutive Zeros are: "<<Zero_pairs(decimal);
   return 0;
}

आउटपुट

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

Count of Pairs Of Consecutive Zeros are: 21

  1. C++ में दिए गए योग के साथ जोड़े गिनें

    हमें एक पूर्णांक सरणी दी गई है और कार्य जोड़े की कुल संख्या की गणना करना है जो दिए गए सरणी मानों का उपयोग करके बनाई जा सकती हैं जैसे कि जोड़े का योग दिए गए योग के बराबर है । इनपुट - int arr[] ={2, 8, 1, 5, 11}, योग =10 आउटपुट − दिए गए योग 13 वाले युग्मों की संख्या − 2 है स्पष्टीकरण - a1 a2 a1 + a

  1. बिटवाइज़ या सी++ में सम संख्या के साथ जोड़े गिनें

    हमें एक पूर्णांक सरणी दी गई है और कार्य जोड़े की कुल संख्या को गिनना है जो दिए गए सरणी मानों का उपयोग करके बनाई जा सकती हैं जैसे कि जोड़े पर OR ऑपरेशन के परिणामस्वरूप एक सम संख्या होगी। OR ऑपरेशन के लिए सत्य तालिका नीचे दी गई है A B AVB 0 0 0 1 0 1 0 1 1 1 1 1 इनपुट - int arr[] ={2, 5, 1,

  1. सी ++ में एक सरणी में विभाज्य जोड़े की गणना करें

    हमें पूर्णांक तत्वों वाले किसी भी आकार की एक सरणी दी गई है और कार्य एक सरणी में जोड़े की गणना की गणना करना है जैसे कि एक जोड़ी का एक तत्व एक जोड़ी के दूसरे तत्व को विभाजित करता है। एक प्रकार की डेटा संरचना को व्यवस्थित करता है जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्