কম্পিউটার

C++ এ জোড় এবং বিজোড় সমষ্টি সহ অর্ডার করা জোড়ার সংখ্যা গণনা করুন


আমাদের n ধনাত্মক সংখ্যার একটি অ্যারে দেওয়া হয়েছে৷ লক্ষ্য হল arr[x] এবং arr এর যোগফলের সাথে অর্ডার করা জোড়া (arr[x], arr[y]) গণনা করা [y] জোড় বা বিজোড়। জোড়া ( arr[i], arr[j] ) এবং ( arr[j], arr[i] আলাদা হিসাবে গণনা করা হয়।

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

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট − Arr[]={ 1,1,2,3 } N=4

আউটপুট − জোড় পণ্যের যোগফলের সংখ্যা − 6 বিজোড় যোগফলের সংখ্যা − 6

ব্যাখ্যা − বৈধ বিজোড় যোগফল হল −

Arr[0] & Arr[1] → (1,1) Arr[1] & Arr[0] → (1,1) count=2
Arr[0] & Arr[3] → (1,3) Arr[3] & Arr[0] → (3,1) count=2
Arr[1] & Arr[3] → (1,3) Arr[3] & Arr[1] → (3,1) count=2 Total=6
Valid even sum pairs are:
Arr[0] & Arr[2] → (1,2) Arr[2] & Arr[0] → (2,1) count=2
Arr[1] & Arr[2] → (1,2) Arr[2] & Arr[1] → (2,1) count=2
Arr[2] & Arr[3] → (2,3) Arr[3] & Arr[2] → (3,2) count=2 Total=6

ইনপুট − Arr[]={ 2,2,2 } N=3

আউটপুট − জোড় যোগফলের সংখ্যা − 6 বিজোড় যোগফলের সংখ্যা − 0

ব্যাখ্যা − বৈধ জোড় পণ্য জোড়া হল −

Arr[0] & Arr[1] → (2,2) Arr[1] & Arr[0] → (2,2) count=2
Arr[1] & Arr[2] → (2,2) Arr[2] & Arr[1] → (2,2) count=2
Arr[2] & Arr[3] → (2,2) Arr[3] & Arr[2] → (2,2) count=2 Total=6
No odd sum as all elements are even.

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা একটি পূর্ণসংখ্যা অ্যারে অ্যারে নিই [] এলোমেলো সংখ্যার সাথে শুরু।

  • একটি পরিবর্তনশীল n নিন যা Arr[] এর দৈর্ঘ্য সংরক্ষণ করে।

  • ফাংশন কাউন্টপেয়ার্স(int arr[], int n) একটি অ্যারে নেয়, ইনপুট হিসাবে এর দৈর্ঘ্য এবং জোড় এবং বিজোড় যোগফল সহ জোড়ার গণনা প্রিন্ট করে।

  • জোড়ার প্রতিটি উপাদানের জন্য লুপের জন্য দুটি ব্যবহার করে ট্রাভার্স অ্যারে।

  • 0<=i

  • arr[i]+arr[j]%2==0 কিনা পরীক্ষা করুন। arr[i],arr[j] এবং arr[j],arr[i] হিসাবে 2 দ্বারা জোড় যোগফল গণনার জন্য কাউন্ট1 বৃদ্ধি করা হবে দুই জোড়া।

  • যদি উপরের শর্তটি 2 দ্বারা বিজোড় যোগফলের জন্য মিথ্যা বৃদ্ধি গণনা 2 হয়।

  • সমস্ত লুপের শেষে কাউন্ট1-এ মোট জোড়ার সংখ্যা থাকবে যেগুলির জোড় যোগফল আছে এবং কাউন্ট2-এর মোট সংখ্যা থাকবে বিজোড় যোগফল আছে

  • ফলাফল হিসাবে গণনা 1 এবং গণনা 2 মুদ্রণ করুন৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void countPairs(int arr[], int n){
   int count1=0; //even sum pairs
   int count2=0; //odd sum pairs
   int sum=0;
   for(int i=0;i<n-1;i++){
      for(int j=i+1;j<n;j++){
         sum=arr[i]+arr[j];
         if(sum%2==0) //sum is even
            { count1+=2; } //(a,b) and (b,a) as two pairs
         else
            { count2+=2; }
      }
   }
   cout<<"Even Sum pairs: "<<count1;
   cout<<endl<<"Odd Sum pairs: "<<count2;
}
int main(){
   int arr[] = { 1,2,3,2 };
   int n = sizeof(arr) / sizeof(int);
   countPairs(arr, n);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Even Sum pairs: 4
Odd Sum pairs: 8

  1. C++ এ জোড় এবং বিজোড় পণ্য সহ অর্ডার করা জোড়ার সংখ্যা গণনা করুন

  2. C++ এ একটি পূর্ণসংখ্যাতে জোড় এবং বিজোড় সংখ্যা গণনা করুন

  3. C++ এ একটি অ্যারেতে জোড় এবং বিজোড় উপাদানের সংখ্যা গণনা করুন

  4. C++ তে বিজোড় এবং জোড় সংখ্যার নোড সহ সমস্ত স্তর প্রিন্ট করুন