আমাদের 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 product 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 product 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 product pairs int count2=0; //odd product pairs int prod=1; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ prod=arr[i]*arr[j]; if(prod%2==0) //product is even { count1+=2; } //(a,b) and (b,a) as two pairs else { count2+=2; } } } cout<<"Even Product pairs: "<<count1; cout<<endl<<"Odd Product pairs: "<<count2; } int main(){ int arr[] = { 1,2,7,3 }; int n = sizeof(arr) / sizeof(int); countPairs(arr, n); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেEven Product pairs: 6 Odd Product pairs: 6