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

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


आइए मान लें हमारे पास एक पूर्णांक n है। समस्या यह जांचना है कि क्या इस पूर्णांक के बाइनरी समकक्ष में वैकल्पिक पैटर्न हैं या नहीं। वैकल्पिक पैटर्न का अर्थ है 101010...।

दृष्टिकोण ऐसा है: बाइनरी समकक्ष का उपयोग करके प्रत्येक अंक की जांच करें, और यदि दो लगातार समान हैं, तो फाल्स लौटाएं, अन्यथा सत्य।

उदाहरण

#include <iostream> using namespace std; bool hasAlternatePattern(unsigned int n) {    int previous = n % 2;    n = n/2;    while (n > 0) {       int current = n % 2;       if (current == previous) // If current bit is same as previous       return false;       previous = current;       n = n / 2;    }    return true; } int main() {    unsigned int number = 42;    if(hasAlternatePattern(number))       cout << "Has alternating pattern";    else       cout << "Has no alternating pattern"; }

आउटपुट

Has alternating pattern

  1. - C++ में सेट बिट्स की संख्या के अनुसार ऐरे सॉर्ट करें

    यहां हम सेट-बिट्स के आधार पर ऐरे को सॉर्ट करने की एक दिलचस्प समस्या देखेंगे। जब ऐरे में किसी एलिमेंट में अधिक सेट-बिट्स होते हैं, तो उसे उस एलिमेंट से पहले रखा जाएगा जिसमें कम सेट बिट्स होते हैं। मान लीजिए कुछ नंबर्स हैं 12, 15, 7। तो सेट बिट्स मूल रूप से उनके बाइनरी प्रतिनिधित्व में 1s की संख्या है

  1. - C++ में k सेट बिट्स के साथ नंबर को अधिकतम करने के लिए न्यूनतम फ्लिप्स

    समस्या कथनदो नंबर n और k दिए गए हैं, हमें दिए गए नंबर को उसके बिट्स फ्लिप करके अधिकतम करने के लिए आवश्यक न्यूनतम फ्लिप्स की संख्या ढूंढनी है जैसे कि परिणामी नंबर में ठीक k सेट बिट्स हों। कृपया ध्यान दें कि इनपुट को कंडीशन पूरी करनी चाहिए कि k, n में बिट्स की संख्या से कम हो।उदाहरणमान लीजिए n = 9 और

  1. - पायथन में जांचें कि संख्या के बिट्स में लगातार सेट बिट्स की संख्या बढ़ते क्रम में है या नहीं

    मान लीजिए हमारे पास एक धनात्मक संख्या n है, हमें जांचना है कि दी गई संख्या n के बिट पैटर्न में लगातार 1s की संख्या बाएं से दाएं बढ़ते क्रम में है या नहीं। उदाहरण के लिए, यदि n = 1775 है, तो आउटपुट True होगा क्योंकि 1775 का बाइनरी प्रतिनिधित्व 11011101111 है, इसलिए लगातार 1s की संख्या [2, 3, 4] है ज