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

C++ में द्विआधारी प्रतिनिधित्व में k-वें बिट का मान ज्ञात कीजिए

इस समस्या में, हमें दो मान n और k दिए गए हैं। हमारा काम है बाइनरी प्रतिनिधित्व में k-th बिट का मान ज्ञात करना

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

Input : n= 5, k = 2
Output : 0

स्पष्टीकरण -

Binary of 5 = 0101
Second LSB bit is 0.

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

समस्या का समाधान बिटवाइज़ प्रदर्शन करना है और परिणाम प्राप्त करने के लिए सभी बिट्स के साथ संख्या N के बाइनरी रूपांतरण और एक बिट सेट जो kth स्थिति पर है।

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
void findKBitVal(int n, int k){
   cout<< ((n & (1 << (k - 1))) >> (k - 1));
}
int main(){
   int n = 29, k = 4;
   cout<<"The value of kth bit in binary of the number is ";
      findKBitVal(n, k);
      return 0;
}

आउटपुट

The value of kth bit in binary of the number is 1

  1. C++ में बाइनरी ट्री के पत्ते खोजें

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हम सभी पत्तियों को इकट्ठा करके हटा देंगे और पेड़ के खाली होने तक दोहराएंगे। तो, अगर इनपुट पसंद है तो आउटपुट [[4,5,3],[2],[1]] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक नक्शा sz परिभाषित करें एक 2डी सरणी रेट परिभाषित करें फ़ंक्श

  1. C++ में बॉटम लेफ्ट ट्री वैल्यू का पता लगाएं

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें उस पेड़ की अंतिम पंक्ति का सबसे बाईं ओर का मान ज्ञात करना है। तो अगर पेड़ जैसा है - तब आउटपुट 7 होगा, क्योंकि अंतिम पंक्ति [7, 4] है, और सबसे बाएं तत्व 7 है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - प्रारंभ में ans और lvl वैरिएबल को 0

  1. C++ में बाइनरी सर्च ट्री में न्यूनतम मान वाला नोड खोजें

    मान लीजिए कि हमारे पास एक बाइनरी सर्च ट्री है। हमें बाइनरी सर्च ट्री में न्यूनतम तत्व खोजना है। तो अगर बीएसटी नीचे जैसा है - न्यूनतम तत्व 1 होगा। जैसा कि हम जानते हैं कि लेफ्ट सबट्री में हमेशा छोटे तत्व होते हैं। इसलिए यदि हम बाएं सबट्री को बार-बार पार करते हैं जब तक कि बाईं ओर शून्य न हो, हम सब