Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी में लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनें


यह देखते हुए कि कार्य बिना किसी क्रमागत 1 के लंबाई n के सभी बाइनरी स्ट्रिंग्स की संख्या की गणना करना है।

बाइनरी नंबर सिस्टम नंबर प्रतिनिधित्व तकनीकों का एक प्रकार है। यह सबसे लोकप्रिय है और डिजिटल सिस्टम में उपयोग किया जाता है। बाइनरी सिस्टम का उपयोग बाइनरी मात्राओं का प्रतिनिधित्व करने के लिए किया जाता है जिसे किसी भी डिवाइस द्वारा दर्शाया जा सकता है जिसमें केवल दो ऑपरेटिंग राज्य या संभावित स्थितियां होती हैं। उदाहरण के लिए, एक स्विच में केवल दो अवस्थाएँ होती हैं:खुला या बंद।

बाइनरी सिस्टम में, केवल दो प्रतीक या संभावित अंक मान होते हैं, अर्थात, 0 और 1. किसी भी उपकरण द्वारा प्रतिनिधित्व किया जाता है जिसमें केवल 2 ऑपरेटिंग राज्य या संभावित स्थितियां होती हैं। बाइनरी स्ट्रिंग्स वे स्ट्रिंग्स हैं जिनमें बाइनरी मान होते हैं यानी या तो 0 या 1 का

आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है -

इनपुट - एन =2

आउटपुट − 2 में से लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या है :3

स्पष्टीकरण - 00, 01, 10 इसलिए केवल 3 बाइनरी स्ट्रिंग्स हैं जिनकी लंबाई n लगातार 1 नहीं है

इनपुट - एन =7

आउटपुट − 7 में से लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या है - 34

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • स्ट्रिंग लंबाई के लिए इनपुट n लें

  • गिनती फ़ंक्शन में हम बाइनरी स्ट्रिंग्स को लगातार 1 के बिना गिनेंगे, दो सरणियों को परिभाषित करेंगे arr[] और arr_2 आकार n, और एक चर अस्थायी परिणाम को संग्रहीत करने के लिए।

  • दोनों सरणियों के 0वें तत्व को 1 के रूप में निर्दिष्ट करें

  • लूप i=1 से I तक n से कम है।

  • लूप में रहते हुए, arr[i] =arr[i-1]+arr_2[i-1] और arr_2[i] =arr[i-1]

    सेट करें
  • temp =arr[n-1]+arr_2[n-1] सेट करें, और फिर अस्थायी प्रिंट करें।

उदाहरण

#include<stdio.h>
//create function to calculate binary strings without consecutive 1’s
void count(int num){
   int arr[num];
   int arr_2[num];
   int i=0, temp=0;
   arr[0] = arr_2[0] = 1;
   //loop till number isn't equals to 0
   for (i = 1; i < num; i++){
      arr[i] = arr[i-1] + arr_2[i-1];
      arr_2[i] = arr[i-1];
   }
   temp = arr[num-1] + arr_2[num-1];
   printf("Count of binary strings without consecutive 1’s of %d is : %d",num,temp);
   printf("\n");
}
int main(){
   //call the count function
   count(10);
   count(7);
   count(1);
   return 0;
}

आउटपुट

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

Count of binary strings without consecutive 1’s of 10 is : 144
Count of binary strings without consecutive 1’s of 7 is : 34
Count of binary strings without consecutive 1’s of 1 is : 2

  1. पायथन में बाइनरी प्रतिनिधित्व में सेट बिट्स की अभाज्य संख्या

    मान लीजिए कि हमारे पास दो पूर्णांक L और R हैं, हमें श्रेणी [L, R] (समावेशी) में संख्याओं की संख्या ज्ञात करनी है, जिनके बाइनरी रूप में सेट बिट्स की एक अभाज्य संख्या है। इसलिए, यदि इनपुट एल =6 और आर =10 की तरह है, तो आउटपुट 4 होगा, क्योंकि 4 नंबर हैं 6(110),7(111),9(1001),10(1010), सभी में प्राइम है

  1. लगातार 1 के बिना बाइनरी स्ट्रिंग्स की संख्या गिनने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक धनात्मक पूर्णांक N दिया गया है, हमें लंबाई N के साथ उपलब्ध सभी संभावित भिन्न बाइनरी स्ट्रिंग्स को गिनने की आवश्यकता है ताकि स्ट्रिंग में कोई क्रमागत 1 मौजूद न हो। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देख

  1. एक संख्या में कुल बिट्स गिनने के लिए एक पायथन प्रोग्राम लिखें?

    पहले हम एक नंबर इनपुट करते हैं फिर इस नंबर को बिन () फ़ंक्शन का उपयोग करके बाइनरी में परिवर्तित करते हैं और फिर आउटपुट स्ट्रिंग के पहले दो अक्षर 0b को हटाते हैं, फिर बाइनरी स्ट्रिंग की लंबाई की गणना करते हैं। उदाहरण Input:200 Output:8 स्पष्टीकरण Binary representation of 200 is 10010000 एल्गोरिद