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

C प्रोग्राम AND, OR, और XOR ऑपरेशंस के अधिकतम मूल्य का पता लगाने के लिए जो किसी दिए गए मान से कम हैं

मान लीजिए हमें दो पूर्णांक k और n दिए गए हैं। हमारा काम तीन ऑपरेशन करना है; बिटवाइज़ AND, बिटवाइज़ OR, और बिटवाइज़ XOR सभी युग्मों के बीच n रेंज तक। हम किन्हीं दो युग्मों के बीच तीनों संक्रियाओं का अधिकतम मान लौटाते हैं जो दिए गए मान k से कम है।

इसलिए, यदि इनपुट n =5, k =5 जैसा है, तो आउटपुट 4 3 4 होगा।

5 से कम संख्या वाले सभी युग्मों के बीच AND, OR, और XOR संक्रियाओं का सबसे बड़ा मान क्रमशः 4, 3 और 4 है। हम देख सकते हैं कि इन संक्रियाओं के मान दिए गए मान k से कम हैं, जो कि 5 है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • और मैक्स:=0, या मैक्स =0, xorMax =0
  • value1 :=0, value2 =0, value3 =0
  • इनिशियलाइज़ i :=1 के लिए, जब i <=n, अपडेट करें (i को 1 से बढ़ाएँ), करें:
    • value1 :=i और j
    • value2 :=i OR j
    • value3 :=i XOR j
    • अगर value1> andMax और value1
    • और मैक्स:=value1
  • यदि value2> orMax और value2
  • या मैक्स :=value2
  • अगर value3> xorMax और value3
  • xorMax :=value3
  • प्रिंट (और मैक्स, या मैक्स, एक्सोरमैक्स)
  • उदाहरण

    आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <stdlib.h>
    
    void solve(int n, int k) {
       int andMax = 0, orMax = 0, xorMax = 0;
       int value1 = 0, value2 = 0, value3 = 0;
       for (int i = 1; i <= n; i++) {
          for (int j = i+1; j <= n; j++) {
             value1 = i & j;
             value2 = i | j;
             value3 = i ^ j;
             if (value1 > andMax && value1 < k)
                andMax = value1;
             if (value2 > orMax && value2 < k)
                orMax = value2;
             if (value3 > xorMax && value3 < k)
                xorMax = value3;
          }
       }
       printf("%d %d %d ", andMax, orMax, xorMax);
    }
    int main() {
       solve(5, 5);
       return 0;
    }

    इनपुट

    5, 5

    आउटपुट

    4 3 4

    1. पायथन में दिए गए बाइनरी ट्री में बीएसटी का सबसे बड़ा योग मूल्य खोजने का कार्यक्रम

      मान लीजिए कि हमें एक बाइनरी ट्री प्रदान किया जाता है। हमें यह पता लगाना होगा कि क्या इसके सबट्री में बाइनरी सर्च ट्री (BST) मौजूद हैं और सबसे बड़े BST का योग ज्ञात करें। योग का पता लगाने के लिए, हम उस BST में प्रत्येक नोड के मान जोड़ते हैं। हम योग मान को आउटपुट के रूप में लौटाते हैं। तो, अगर इनपुट

    1. यह जाँचने के लिए प्रोग्राम कि क्या किसी सूची के सभी मान जो Python में दिए गए मान से अधिक हैं

      इस ट्यूटोरियल में, हम जाँचेंगे कि सूची के सभी तत्व एक संख्या से बड़े हैं या नहीं। उदाहरण के लिए, हमारे पास एक सूची है [1, 2, 3, 4, 5] और एक संख्या 0. यदि सूची में प्रत्येक मान दिए गए मान से अधिक है, तो हम सत्य लौटाते हैं और झूठा । यह एक साधारण कार्यक्रम है। हम इसे 3 मिनट से भी कम समय में लिखते है

    1. पायथन प्रोग्राम यह जाँचने के लिए कि क्या सूची में सभी मान दिए गए मान से अधिक हैं

      सूची दी गई है और जाँच मूल्य दिया गया है, सूची में सभी मान प्रदर्शित करें जो दिए गए मान से अधिक हैं। उदाहरण Input : A=[10, 20, 30, 40, 50] Given value=20 Output : No Input : A=[10, 20, 30, 40, 50] Given value=5 Output : Yes एल्गोरिदम Step 1: Create user input list. Step 2: Input checking value. Step