हमें एक संख्या दी गई है मान लीजिए, संख्या और कार्य बाइनरी स्ट्रिंग्स की गणना की गणना करना है जो दिए गए संख्या संख्या के माध्यम से बनाई जा सकती है जिसमें केवल ओ और 1 शामिल हैं।
बाइनरी नंबर सिस्टम नंबर प्रतिनिधित्व तकनीकों का एक प्रकार है। यह सबसे लोकप्रिय है और डिजिटल सिस्टम में उपयोग किया जाता है। बाइनरी सिस्टम का उपयोग बाइनरी मात्राओं का प्रतिनिधित्व करने के लिए किया जाता है जिसे किसी भी डिवाइस द्वारा दर्शाया जा सकता है जिसमें केवल दो ऑपरेटिंग राज्य या संभावित स्थितियां होती हैं। उदाहरण के लिए, एक स्विच में केवल दो अवस्थाएँ होती हैं:खुला या बंद।
बाइनरी सिस्टम में, केवल दो प्रतीक या संभावित अंक मान होते हैं, अर्थात, 0 और 1. किसी भी उपकरण द्वारा प्रतिनिधित्व किया जाता है जिसमें केवल 2 ऑपरेटिंग राज्य या संभावित स्थितियां होती हैं। बाइनरी स्ट्रिंग्स वे स्ट्रिंग्स हैं जिनमें बाइनरी मान होते हैं यानी या तो 0 या 1 का
उदाहरण के लिए
Input − num = 3 Output − count is 8
स्पष्टीकरण - द्विआधारी संयोजन जो लंबाई 3 से बन सकते हैं:000, 111, 001,101, 100, 110, 011, 010 क्योंकि वे संख्या में कुल 8 हैं इसलिए गिनती 8 है।
Input − num = 2 Output − count is 4
स्पष्टीकरण - द्विआधारी संयोजन जो लंबाई 2 से बन सकते हैं:00, 11, 01,10 हैं क्योंकि वे संख्या में कुल 4 हैं इसलिए गिनती 4 है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
लंबे समय तक कई प्रकार इनपुट करें क्योंकि संख्या किसी भी अंक लंबी हो सकती है
-
(लॉन्ग लॉन्ग)(le9 + 7)
. के रूप में मॉड वैल्यू की गणना करें -
गिनती की गणना करने के लिए एक फ़ंक्शन बनाएं
-
एक अस्थायी चर घोषित करें जो गिनती और अन्य चर अस्थायी को संग्रहीत करेगा और इसे 2 के साथ आरंभ करेगा।
-
संख्या को अस्थायी =अस्थायी% मॉड के रूप में सेट करें
-
लूप प्रारंभ करें जबकि संख्या> 0
-
IF संख्या और 1 की जाँच करें और फिर गिनती को (गिनती * अस्थायी)% मॉड के रूप में सेट करें
-
सेट num =num>> 1
-
अस्थायी सेट करें =(अस्थायी * अस्थायी)% मॉड
-
वापसी की संख्या
-
परिणाम प्रिंट करें।
उदाहरण
#include <iostream> using namespace std; #define ll long long #define mod (ll)(1e9 + 7) // An iterative function to find (x^y)%p in O(log y) ll power(ll x, ll y, ll p){ ll result = 1; x = x % p; // Update x if it is more than or // equal to p while (y > 0){ // If y is odd, multiply x with result if (y & 1){ result = (result * x) % p; } // y must be even now y = y >> 1; // y = y/2 x = (x * x) % p; } return result; } // Function to count the number of binary strings ll countbstring(ll num){ int count = power(2, num, mod); return count; } int main(){ ll num = 3; cout <<"count is: "<<countbstring(num); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -
count is: 8