কম্পিউটার

জোড়ার সংখ্যা যার যোগফল C++ এ 2 এর শক্তি


একটি অ্যারে দেওয়া হলে, আমাদের এমন জোড়ার সংখ্যা খুঁজে বের করতে হবে যার যোগফল 2। আসুন উদাহরণটি দেখি।

ইনপুট

arr = [1, 2, 3]

আউটপুট

1

শুধুমাত্র একটি জোড়া আছে যার যোগফল 2 এর ঘাত। এবং জোড়াটি হল (1, 3)।

অ্যালগরিদম

  • এলোমেলো সংখ্যা দিয়ে অ্যারে শুরু করুন।
  • গণনাটি ০-তে শুরু করুন।
  • অ্যারের সমস্ত জোড়া পেতে দুটি লুপ লিখুন।
    • প্রতি জোড়ার যোগফল গণনা করুন।
    • বিটওয়াইজ AND ব্যবহার করে যোগফলটি 2 এর শক্তি কিনা তা পরীক্ষা করুন৷
    • গণনাটি 2 এর শক্তি হলে গণনা বৃদ্ধি করুন।
  • গণনা ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include <bits/stdc++.h>
using namespace std;
int get2PowersCount(int arr[], int n) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      for (int j = i + 1; j < n; j++) {
         int sum = arr[i] + arr[j];
         if ((sum & (sum - 1)) == 0) {
            count++;
         }
      }
   }
   return count;
}
int main() {
   int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   int n = 10;
   cout << get2PowersCount(arr, n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

6

  1. C++ এ একটি সংখ্যার আদিম

  2. C++ এ একটি সংখ্যার ফ্যাক্টরিয়াল সংখ্যার সমষ্টি খুঁজুন

  3. C++ এ পাটিগণিত সংখ্যা

  4. C++ এ CHAR_BIT