दिया गया कार्य लंबाई n की उन सभी बाइनरी स्ट्रिंग्स की संख्या गिनना है जिनमें कोई लगातार 1's नहीं हैं।
बाइनरी नंबर सिस्टम नंबर रिप्रेजेंटेशन तकनीकों में से एक प्रकार है। यह डिजिटल सिस्टम में सबसे लोकप्रिय और उपयोग किया जाता है। बाइनरी सिस्टम का उपयोग बाइनरी मात्राओं को दर्शाने के लिए किया जाता है जिन्हें किसी भी डिवाइस द्वारा दर्शाया जा सकता है जिसमें केवल दो ऑपरेटिंग स्टेट्स या संभावित स्थितियां होती हैं। उदाहरण के लिए, एक स्विच की केवल दो स्थितियां होती हैं: खुला या बंद।
बाइनरी सिस्टम में केवल दो सिंबल या संभावित डिजिट वैल्यू होती हैं, यानी 0 और 1। किसी भी डिवाइस द्वारा दर्शाया गया जिसमें केवल 2 ऑपरेटिंग स्टेट्स या संभावित स्थितियां होती हैं। बाइनरी स्ट्रिंग्स वे स्ट्रिंग्स हैं जिनमें बाइनरी वैल्यू होती हैं यानी या तो 0's या 1's।
आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है -
इनपुट - n = 2
आउटपुट - 2 की लंबाई वाली बिना लगातार 1's की बाइनरी स्ट्रिंग्स की संख्या: 3
व्याख्या - 00, 01, 10 इसलिए लंबाई n की केवल 3 बाइनरी स्ट्रिंग्स हैं जिनमें कोई लगातार 1's नहीं हैं
इनपुट - n = 7
आउटपुट - 7 की लंबाई वाली बिना लगातार 1's की बाइनरी स्ट्रिंग्स की संख्या: 34
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण इस प्रकार है
स्ट्रिंग लंबाई के लिए इनपुट n लें
काउंट फंक्शन में हम लगातार 1's के बिना बाइनरी स्ट्रिंग्स गिनेंगे, आकार n के दो ऐरे arr[] और arr_2 परिभाषित करेंगे, और परिणाम स्टोर करने के लिए एक वेरिएबल temp।
दोनों ऐरे के 0th एलिमेंट को 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] सेट करें, और फिर temp प्रिंट करें।
उदाहरण
#include// लगातार 1's के बिना बाइनरी स्ट्रिंग्स की गणना करने के लिए फंक्शन बनाएं void count(int num){ int arr[num]; int arr_2[num]; int i=0, temp=0; arr[0] = arr_2[0] = 1; // लूप तब तक चलाएं जब तक नंबर 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(){ // काउंट फंक्शन को कॉल करें 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