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

C++ में बाइनरी प्रतिनिधित्व m 1's और m-1 0's वाली सबसे बड़ी संख्या


इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो m 1's और m - 1 0's वाली सबसे बड़ी संख्या ढूंढता है।

आइए समस्या को हल करने के चरण देखते हैं।

  • दो वेरिएबल bits और result को क्रमशः 2 और 1 से आरंभ करें।
  • एक लूप लिखें जो 1 से n तक पुनरावृति करता है।
    • पुनरावृत्ति वेरिएबल मान को (pow(2, bits) - 1) * (pow(2, bits - 1)) से अपडेट करें।
    • यदि पुनरावृत्ति वेरिएबल n से कम है, तो परिणाम को i से अपडेट करें।
    • बिट्स काउंट बढ़ाएं।
  • परिणाम वापस करें।

उदाहरण

आइए कोड देखते हैं।

#include <bits/stdc++.h> 
using namespace std; 

long long getTheNumber(long long n) { 
    long bits = 2; 
    long long result = 1; 
    long long i = 1; 
    while (i < n) { 
        i = (int)(pow(2, bits) - 1) * (pow(2, bits - 1)); 
        if (i < n) { 
            result = i; 
        } 
        bits++; 
    } 
    return result; 
} 

int main() { 
    long long n = 654; 
    cout << getTheNumber(n) << endl; 
    return 0; 
}

आउटपुट

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

496

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें टिप्पणी अनुभाग में उल्लेख करें।


  1. - C++ में पिछली संख्या का बाइनरी प्रतिनिधित्व

    इस समस्या में, हमें एक संख्या का बाइनरी प्रतिनिधित्व दिया जाता है और हमें पिछली संख्या का बाइनरी प्रतिनिधित्व ढूंढना होता है यानी दी गई संख्या से एक घटाने के बाद परिणामी संख्या। बाइनरी प्रतिनिधित्व एक संख्या का आधार को आधार 2 में बदलना और संख्या को केवल 0 या 1 का उपयोग करके दर्शाना है। उदाहरण के लिए

  1. - C++ में अगली संख्या का बाइनरी प्रतिनिधित्व

    इस समस्या में, हमें एक संख्या का बाइनरी प्रतिनिधित्व दिया जाता है और हमें अगली संख्या का बाइनरी प्रतिनिधित्व ढूंढना होता है यानी दी गई संख्या में एक जोड़ने के बाद परिणामी संख्या। बाइनरी प्रतिनिधित्व एक संख्या का आधार को आधार 2 में बदलना और संख्या को केवल 0 या 1 का उपयोग करके दर्शाना है। उदाहरण के लि

  1. - C++ में दी गई संख्या का बाइनरी प्रतिनिधित्व

    बाइनरी संख्या बाइनरी संख्या केवल 0 और 1 अंकों से बनी होती है। पुनरावर्ती विधि पुनरावृत्ति का उपयोग करके संख्या को बाइनरी में बदलें: 1, तो संख्या/2 के साथ पुनरावर्ती कॉल करें वापस आते समय संख्या % 2 प्रिंट करें उदाहरण कोड 1) toBinary(number / 2); cout << number % 2; } int ma