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

C++ में संख्या N का बिटवाइज AND सेट प्रिंट करें


इस समस्या में, हमें 0 से n तक की उन सभी संख्याओं को प्रिंट करना है जो n के बाइनरी के बिटवाइज AND हैं।

आइए एक उदाहरण लेकर अवधारणा को बेहतर ढंग से समझते हैं।

Input : N = 4. Output : 0 4 Explanation :     0 & 4 = 0     1 & 4 = 0     2 & 4 = 0     3 & 4 = 0     4 & 4 = 4. Input : N = 6 Output : 0, 2, 4, 6

इस समस्या को हल करने के लिए, हमें बिटवाइज ऑपरेटर्स का उपयोग करने की आवश्यकता है। इनका उपयोग करके हम आवश्यक उपसमुच्चय ढूंढेंगे। हम n से 1 तक एक अलग अपडेट फ़ंक्शन का उपयोग करके पीछे की ओर पुनरावृति करेंगे जो केवल उन मानों का उपयोग करेगा जो n के साथ कुछ AND के AND ऑपरेशन के आउटपुट हैं। ऑपरेशन होगा i = (i-1) & N.

इस विचार के आधार पर आइए एक एल्गोरिदम बनाते हैं -

एल्गोरिदम

चरण 1 : n से 1 तक घटते ऑपरेटर i = (i-1) & n का उपयोग करके लूप करें चरण 2 : i प्रिंट करें। चरण 3 : बाहर निकलें।

उदाहरण

उपरोक्त एल्गोरिदम का प्रोग्राम कार्यान्वयन -

#include <iostream> using namespace std; int main() {     int n = 11;     for (int i = n; i > 0; i = (i - 1) & n)         cout << i << " ";     cout << 0;     return 0; }

आउटपुट

11 10 9 8 3 2 1 0

  1. C++ प्रोग्राम: बाइनरी ट्री के प्रत्येक नोड में सेट बिट्स की संख्या प्रिंट करना C++ प्रोग्राम: बाइनरी ट्री के प्रत्येक नोड में सेट बिट्स की संख्या प्रिंट करना

    दिए गए बाइनरी ट्री में, फ़ंक्शन नोड्स में संग्रहीत कुंजियों के बाइनरी मान उत्पन्न करेगा और फिर उस बाइनरी समतुल्य में सेट बिट्स (1) की संख्या लौटाएगा। उदाहरण बाइनरी ट्री जिसमें कुंजियां हैं: 10 3 211 140 162 100 और 146 कुंजी बाइनरी समतुल्य सेट बिट्स (आउटपुट) 10 1010 2 3 0011 2 211 1101001

  1. - C++ में स्ट्रिंग को नंबर में और नंबर को स्ट्रिंग में बदलना

    इस सेक्शन में हम देखेंगे कि स्ट्रिंग को नंबर में और नंबर को स्ट्रिंग में कैसे बदलें। पहले हम देखेंगे कि स्ट्रिंग को नंबर में कैसे बदलें। स्ट्रिंग से नंबर रूपांतरण यहां हम देखेंगे कि नंबर स्ट्रिंग को इंटीजर टाइप डेटा में कैसे बदलें। हम इस समस्या को atoi() फंक्शन का उपयोग करके हल कर सकते हैं। यह फंक

  1. - C++ में बिटवाइज़ AND क्या है?

    बिटवाइज़ AND ऑपरेटर (&) पहले ऑपरेंड के प्रत्येक बिट की तुलना दूसरे ऑपरेंड के संबंधित बिट से करता है। यदि दोनों बिट्स 1 हैं, तो संबंधित परिणाम बिट 1 सेट होता है। अन्यथा, संबंधित परिणाम बिट 0 सेट होता है। बिटवाइज़ इन्क्लूसिव AND ऑपरेटर के दोनों ऑपरेंड्स इंटीग्रल प्रकार के होने चाहिए। उदाहरण के लि