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

C++ में n सेट और m अनसेट बिट्स वाली सबसे बड़ी संख्या ज्ञात करें


इस समस्या में, हमें दो पूर्णांक मान, n और m दिए गए हैं। हमारा कार्य बाइनरी प्रतिनिधित्व में n सेट और m अनसेट बिट्स वाली सबसे बड़ी संख्या ज्ञात करना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं

इनपुट : n = 3, m = 1 आउटपुट : 14

व्याख्या −

सबसे बड़ी संख्या में 3 सेट बिट्स और फिर 1 अनसेट बिट होगा। (1110)2 = 14

समाधान दृष्टिकोण

समस्या का एक सरल समाधान (n+m) सेट बिट्स वाली संख्या ढूंढना है। इस संख्या से, अंत (LSB) से m बिट्स को टॉगल ऑफ करें। (n+m) सेट बिट्स वाली संख्या बनाने के लिए,

$$(1\ll(n+m))-1$$

फिर m बिट्स को टॉगल करें और संख्या लौटाएं।

उदाहरण

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम

#include <iostream> using namespace std; int findlargestNumber(int n, int m){ int maxNum = (1 << (n + m)) - 1; if (m == 0) return maxNum; int number = (1 << m) - 1; return (maxNum ^ number); } int main(){ int n = 5, m = 2; cout<<"सबसे बड़ी संख्या "<<n<<" सेट बिट्स और "<<m<<" अनसेट बिट्स के साथ है "<<findlargestNumber(n, m); return 0; }

आउटपुट

सबसे बड़ी संख्या 5 सेट बिट्स और 2 अनसेट बिट्स के साथ है 124 

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

    इस लेख में, हम एक सेट पर रिफ्लेक्सिव रिलेशंस की संख्या ज्ञात करने के दृष्टिकोणों की व्याख्या करेंगे। इस समस्या में, हमें संख्या n दी गई है, और n प्राकृतिक संख्याओं के एक सेट पर, हमें रिफ्लेक्सिव रिलेशंस की संख्या निर्धारित करनी है।रिफ्लेक्सिव रिलेशन - एक सेट A में एक रिलेशन को रिफ्लेक्सिव कहा जाता ह

  1. - दिए गए अंकों से बनने वाली सबसे बड़ी संख्या खोजें C++ में

    मान लीजिए हमारे पास अंकों का एक ऐरे है। हमें ऐरे के सभी अंकों का उपयोग करके प्राप्त की जा सकने वाली अधिकतम संख्या खोजनी है। तो यदि ऐरे [3, 3, 9, 6, 2, 5] जैसा है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम अंकों को गैर-बढ़ते क्रम में आसानी से सॉर्ट कर सकते हैं, फिर उन्हें प

  1. - C++ में जांचें कि क्या किसी संख्या में सेट और अनसेट बिट्स की समान संख्या है

    इस खंड में हम जांचेंगे कि क्या किसी संख्या में सेट बिट्स और अनसेट बिट्स की समान संख्या है या नहीं। मान लीजिए संख्या 12 है। इसका बाइनरी प्रतिनिधित्व 1100 है। इसमें 0 और 1 की समान संख्या है। दृष्टिकोण सरल है। हम संख्या के प्रत्येक बिट की जांच करेंगे, और यदि वह 1 है, तो set_bit_count बढ़ाएं, और यदि यह