কম্পিউটার টিউটোরিয়াল

C++-এ যোগফল ২-এর ঘাত হয় এমন জোড়ার সংখ্যা বের করা


একটি অ্যারে দেওয়া আছে। যেসব জোড়ার যোগফল ২-এর ঘাত (power of 2), তাদের সংখ্যা বের করতে হবে।

উদাহরণ: arr = [1,2,3] হলে আউটপুট ১। কারণ (1,3) যোগফল ৪ = 2²।

অ্যালগরিদম

  • অ্যারে আরম্ভ করুন, count = ০
  • দুটি নেস্টেড লুপ দিয়ে সব জোড়া যাচাই করুন
  • sum = arr[i] + arr[j]
  • যদি (sum & (sum-1)) == 0 হয়, তবে sum ২-এর ঘাত (বিট ট্রিক) → count++
  • count রিটার্ন করুন

ইমপ্লিমেন্টেশন

#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++-এ একটি সংখ্যার প্রাইমোরিয়াল (Primorial)

  2. ফ্যাক্টোরিয়ালের ডিজিটের যোগফল (C++)

  3. C++-এ অ্যারিথমেটিক নম্বর

  4. C++-এ CHAR_BIT