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

C++ में बेस -2 में रूपांतरण (Convert to Base -2)


मान लीजिए हमारे पास एक संख्या N है, हमें "0" और "1" से बनी एक स्ट्रिंग खोजनी है जो आधार -2 (ऋणात्मक दो) में इसके मान को दर्शाती है। लौटाई गई स्ट्रिंग में कोई लीडिंग जीरो नहीं होने चाहिए, जब तक कि स्ट्रिंग ठीक "0" न हो।

उदाहरण के लिए, यदि इनपुट 2 है, तो आउटपुट "110" होगा, क्योंकि (-2)² + (-2)¹ + (-2)⁰ = 4 - 2 + 1 = 3... रुको, 2 के लिए: (-2)² + (-2)¹ = 4 - 2 = 2, तो "110" सही है।

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

  1. ret := खाली स्ट्रिंग

  2. यदि N = 0, तो "0" लौटाएं

  3. जब तक N ≠ 0:

  4. rem := N % (-2)

  5. N := N / (-2)

  6. यदि rem < 0 तो rem += 2 और N++ करें

  7. ret में rem जोड़ें

  8. ret को रिवर्स करके लौटाएं

C++ कार्यान्वयन

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

class Solution { 
public: 
    string baseNeg2(int N) { 
        string ret = ""; 
        if(N == 0) return "0"; 
        while(N){ 
            int rem = N % (-2); 
            N /= -2; 
            if(rem < 0) rem += 2, N++; 
            ret += to_string(rem); 
        } 
        reverse(ret.begin(), ret.end()); 
        return ret; 
    } 
}; 

int main(){ 
    Solution ob; 
    cout << (ob.baseNeg2(17)); 
    return 0; 
}

इनपुट

17

आउटपुट

10001
  1. C++ में जंप गेम V C++ में जंप गेम V

    मान लीजिए हमारे पास arr नामक पूर्णांकों की एक सरणी और एक पूर्णांक d है। एक चरण में हम इंडेक्स i से कूद सकते हैं: i + x जहां: i + x < n और x की सीमा 1 से d है। = 0 और x की सीमा 1 से d है। arr[k] हो। हम सरणी के किसी भी इंडेक्स से कूदना शुरू कर सकते हैं। हमें अधिकतम इंडेक्स की संख्या ज्ञात करनी है ज

  1. - C++ में आधार 'b' से लंबाई 'k' के सभी सबस्ट्रिंग को दशमलव में बदलें

    इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे जो आधार b से लंबाई k के सभी सबस्ट्रिंग को दशमलव में बदलता है। इसके लिए हमें एक निश्चित लंबाई का स्ट्रिंग दिया जाएगा। हमारा कार्य दिए गए स्ट्रिंग से आकार k के सबस्ट्रिंग लेना और उन्हें आधार b से दशमलव संख्याओं में बदलना है। उदाहरण #include <bits/

  1. - C++ में संख्या को ऋणात्मक आधार प्रतिनिधित्व में बदलें

    इस ट्यूटोरियल में, हम एक प्रोग्राम पर चर्चा करेंगे जो संख्या को उसके ऋणात्मक आधार प्रतिनिधित्व में बदलता है। इसके लिए हमें एक संख्या और संबंधित ऋणात्मक आधार दिया जाएगा। हमारा कार्य दी गई संख्या को उसके ऋणात्मक आधार समतुल्य में बदलना है। हम ऋणात्मक आधार मानों के लिए केवल -2 और -10 के बीच के मानों की