Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम में 2^X - 1 के रूप में एक संख्या बनाने के लिए चरण प्रिंट करें।

एक संख्या n को देखते हुए, हमें Xor ऑपरेशन का उपयोग करके संख्या को 2^X-1 के रूप में बनाने के लिए चरणों को प्रिंट करना होगा।

  • हमें किसी भी 2^M-1 . के साथ नंबर XOR करना चाहिए , जहां एम विषम चरण में आपके द्वारा चुना गया है।
  • सम चरण में संख्या में 1 की वृद्धि करें

चरण को तब तक निष्पादित करते रहें जब तक n 2^X-1 न हो जाए, और सभी चरणों को प्रिंट कर लें

उदाहरण

इनपुट:22आउटपुट:चरण 1:15 के साथ एक्सओआर चरण 2:1 चरण 3 से बढ़ाएँ:7 के साथ एक्सओ 

एल्गोरिदम

int find_leftmost_unsetbit(int n)STARTSTEP 1:घोषित और असाइन करें ind =-1, i =1STEP 2:लूप जबकि n IF !(n &1) फिर, i END के साथ I END को असाइन करें यदि I END I BY 1 LEFT SHIFT n 1END तक जबकि 3 :रिटर्न indSTOPvoid ​​Perform_steps(int n)STARTSTEP 1 :DECLARE और ASSIGN left =find_leftmost_unsetbit(n)STEP 2 :IF बाएँ ==-1 फिर, प्रिंट करें "कोई चरण नहीं किया जाना है" वापसी IFSTEP 3 और ASSIGN चरण =1चरण 4 :लूप करते समय find_leftmost_unsetbit(n) !=-1 यदि चरण% 2 ==0 तब, वृद्धि n 1 प्रिंट द्वारा "चरण n:1\n तक बढ़ाएँ" अन्यथा घोषणा और असाइन करें m =find_leftmost_unsetbit(n) और SET num =(pow(2, m) - 1) SET n =n ^ num PRINT "Step N:Xor Num END के साथ अगर इंक्रीमेंट स्टेप बाय 1END LOOPSTOP

उदाहरण

#शामिल करें इंट मैं =1; जबकि (एन) {अगर (!(एन और 1)) ind =i; मैं++; एन>>=1; } रिटर्न इंड;} शून्य परफॉर्म_स्टेप्स (इंट एन) {// सबसे बाईं ओर अनसेट बिट इंट लेफ्ट का पता लगाएं =फाइंड_लेफ्टमोस्ट_अनसेटबिट (एन); // यदि कोई बिट नहीं है (बाएं ==-1) {प्रिंटफ ("कोई चरण नहीं किया जाना है \ n"); वापसी; } // चरणों की संख्या गिनने के लिए int step =1; // तब तक दोहराएं जब तक संख्या 2^x - 1 के रूप में हो (find_leftmost_unsetbit(n) !=-1) {// यदि चरण सम है तो 1 से बढ़ाएँ यदि (चरण% 2 ==0) { n +=1; प्रिंटफ ("चरण% d:1 \ n द्वारा बढ़ाएँ", चरण); } // यदि चरण विषम है तो xor 2^m-1 और के साथ {// सबसे बाईं ओर अनसेट बिट int m =find_leftmost_unsetbit(n); इंट नंबर =(इंट) (पाउ (2, एम) - 1); एन =एन ^ संख्या; प्रिंटफ ("चरण% d:Xor% d \ n के साथ", चरण, संख्या); } // कदम बढ़ाने के लिए कदम +=1; }}इंट मेन (){ इंट एन =22; प्रदर्शन_स्टेप्स (एन); वापसी 0;}

आउटपुट

यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

चरण 1:Xor 15चरण 2 के साथ:1चरण 3 से बढ़ाएँ:Xor 7चरण 4 के साथ:1 चरण 5 से बढ़ाएँ:1 के साथ Xor

  1. C . में ठोस और खोखले समचतुर्भुज पैटर्न मुद्रित करने का कार्यक्रम

    कार्यक्रम विवरण नीचे दिखाए अनुसार ठोस और खोखले समचतुर्भुज पैटर्न को प्रिंट करें एल्गोरिदम खोखले समचतुर्भुज के लिए - Accept the Number of Rows for Hollow Rhombus from the User Create a Hollow Rhombus containing the same number of Rows specified by the User. Print the first row containing the numb

  1. सी . में संख्या पैटर्न मुद्रित करने का कार्यक्रम

    कार्यक्रम विवरण एक संख्यात्मक पैटर्न संख्याओं का एक क्रम है जो एक नियम के आधार पर बनाया गया है जिसे पैटर्न नियम कहा जाता है। अनुक्रम में क्रमागत संख्याओं के बीच संबंध का वर्णन करने के लिए पैटर्न नियम एक या अधिक गणितीय संक्रियाओं का उपयोग कर सकते हैं। पैटर्न के उदाहरण पैटर्न 1 1 2 6 3 7 10 4 8 11

  1. स्क्वायर मैट्रिक्स को Z रूप में C . में प्रिंट करने का कार्यक्रम

    कार्यक्रम विवरण वर्ग मैट्रिक्स के तत्वों को Z रूप में प्रिंट करें एक वर्ग मैट्रिक्स एक मैट्रिक्स है जिसमें समान पंक्तियों और स्तंभों की संख्या होती है। एक एन-बाय-एन मैट्रिक्स को ऑर्डर के स्क्वायर मैट्रिक्स के रूप में जाना जाता है एल्गोरिदम To print the elements of the Square Matrix in Z form We