কম্পিউটার

C প্রোগ্রাম AND, OR, এবং XOR অপারেশনগুলির সর্বাধিক মান খুঁজে বের করতে যা একটি প্রদত্ত মানের থেকে কম


ধরুন আমাদের দুটি পূর্ণসংখ্যা k এবং n দেওয়া হয়েছে। আমাদের কাজ তিনটি অপারেশন সঞ্চালন হয়; বিটওয়াইজ AND, bitwise OR, এবং bitwise XOR সব জোড়া সংখ্যার মধ্যে রেঞ্জ n পর্যন্ত। আমরা প্রদত্ত মানের k থেকে কম যেকোন দুই জোড়া সংখ্যার মধ্যে তিনটি ক্রিয়াকলাপের সর্বোচ্চ মান ফেরত দিই।

সুতরাং, ইনপুট যদি n =5, k =5 এর মত হয়, তাহলে আউটপুট হবে 4 3 4।

AND, OR, এবং XOR ক্রিয়াকলাপের সর্বশ্রেষ্ঠ মান হল 5 এর কম সংখ্যার সমস্ত জোড়ার মধ্যে যথাক্রমে 4, 3 এবং 4। আমরা দেখতে পাচ্ছি যে এই ক্রিয়াকলাপের মানগুলি প্রদত্ত মানের k থেকে কম, যা 5৷

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • andMax :=0, orMax =0, xorMax =0
  • মান1 :=0, মান2 =0, মান3 =0
  • আরম্ভ করার জন্য i :=1, যখন i <=n, আপডেট করুন (i 1 দ্বারা বাড়ান), করবেন:
    • মান ১ :=i এবং j
    • value2 :=i OR j
    • value3 :=i XOR j
    • যদি মান1> andMax এবং মান 1
    • andMax :=value1
  • যদি মান2> orMax এবং মান 2
  • orMax :=value2
  • যদি মান3> xorMax এবং মান3
  • xorMax :=value3
  • মুদ্রণ (এবং ম্যাক্স, বাম্যাক্স, xorMax)
  • উদাহরণ

    আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

    #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-এর বৃহত্তম সমষ্টির মান খুঁজে বের করার প্রোগ্রাম

    2. পাইথন - একটি তালিকার সমস্ত মান একটি প্রদত্ত মানের চেয়ে কম কিনা তা পরীক্ষা করুন

    3. একটি তালিকার সমস্ত মান যা পাইথনে প্রদত্ত মানের চেয়ে বেশি তা পরীক্ষা করার জন্য প্রোগ্রাম

    4. পাইথন প্রোগ্রাম একটি তালিকার সমস্ত মান প্রদত্ত মানের চেয়ে বড় কিনা তা পরীক্ষা করতে