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

अगला बड़ा पूर्णांक जिसमें C++ में एक से अधिक सेट बिट्स हों

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

द्विआधारी प्रतिनिधित्व में अंक 1 को सेट बिट कहा जाता है।

आइए एक उदाहरण देखें।

इनपुट

124

आउटपुट

125

एल्गोरिदम

  • संख्या का प्रारंभ करें n

  • एक फ़ंक्शन लिखें सेट बिट्स की संख्या की गणना करें।

  • n + 1 . के साथ पुनरावृत्त चर प्रारंभ करें ।

  • अनंत लूप लिखें।

    • n . से बड़ी संख्याओं के लिए सेट बिट्स की संख्या की जांच करें ।

    • नंबर मिलने पर उसे वापस कर दें।

कार्यान्वयन

C++ में उपरोक्त एल्गोरिथम का कार्यान्वयन निम्नलिखित है

#include <bits/stdc++.h>
using namespace std;
int getSetBitsCount(int n) {
   int count = 0;
   while (n) {
      if (n % 2 == 1) {
         count += 1;
      }
      n /= 2;
   }
   return count;
}
int getNextGreaterElementWithSameSetBits(int n) {
   int setBitsCount = getSetBitsCount(n);
   int i = n + 1;
   while (true) {
      if (setBitsCount + 1 == getSetBitsCount(i)) {
         return i;
      }
      i += 1;
   }
}
int main() {
   int n = 124;
   cout << getNextGreaterElementWithSameSetBits(n) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

125

  1. C++ में दी गई संख्या के सेट बिट्स का उपयोग करते हुए न्यूनतम संख्या

    समस्या कथन एक अहस्ताक्षरित संख्या को देखते हुए, दी गई अहस्ताक्षरित संख्या के बिट्स का उपयोग करके बनाई जा सकने वाली न्यूनतम संख्या ज्ञात कीजिए। उदाहरण यदि इनपुट =10 तो उत्तर 3 होगा 10 का बाइनरी प्रतिनिधित्व 1010 है और 2सेट बिट्स के साथ न्यूनतम संख्या 0011 है यानी 3 एल्गोरिदम 1. Count the number of

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

    आइए मान लें कि हमारे पास एक पूर्णांक n है। समस्या यह जांचना है कि क्या इस पूर्णांक के बाइनरी समकक्ष में वैकल्पिक पैटर्न हैं या नहीं। वैकल्पिक पैटर्न का अर्थ है 101010…. दृष्टिकोण इस प्रकार है:बाइनरी समकक्ष का उपयोग करके प्रत्येक अंक की जांच करें, और यदि लगातार दो समान हैं, तो झूठी वापसी करें, अन्यथ

  1. C++ में एक पूर्णांक का पूरक खोजें

    इस भाग में, हम देखेंगे कि किसी पूर्णांक का 1 पूर्ण कैसे ज्ञात किया जाता है। हम इस कार्य को बहुत तेजी से करने के लिए पूरक ऑपरेटर का उपयोग कर सकते हैं, लेकिन यह 32 बिट पूरक मूल्य (4-बाईप पूर्णांक) बना देगा। यहाँ हम n बिट संख्याओं का पूरक चाहते हैं। मान लीजिए कि हमारे पास एक संख्या 22 है। बाइनरी समकक्