আমরা N উপাদানগুলির একটি অ্যারে অ্যারে [] দিয়েছি। লক্ষ্য হল সমস্ত বৈধ জোড়ার (Arr[i],Arr[j]) গণনা খুঁজে বের করা যা কিছু শর্ত মেনে চলে। জোড়া Arr[i],Arr[j] অবৈধ হলে −
- Arr[i]==Arr[j]
- Arr[i]+Arr[j] সমান
- i+j<120
দ্রষ্টব্য − Arr[i],Arr[j] এবং Arr[j],Arr[i] এক জোড়া হিসাবে গণনা করা হবে। বৈধ জোড়া আছে i!=j উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
Arr[]= { 3,2,1,2,4,3 } N=4
আউটপুট
Count of valid pairs: 2
ব্যাখ্যা
বৈধ জোড়া হল −
Arr[0] & Arr[4] → (3,3) here Arr[i]==Arr[j] & 3+3 is even also i!=j and i+j<120 Arr[1] & Arr[3] → (2,2) here Arr[i]==Arr[j] & 2+2 is even also i!=j and i+j<120
ইনপুট
Arr[]= { 1,2,3,4,5,6 } N=6
আউটপুট
Count of valid pairs: 0
ব্যাখ্যা
উপাদানের কোন পুনরাবৃত্তি. i!=j.
টাইপের কোন জোড়া (a,a) সম্ভব নয়নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
- আমরা একটি পূর্ণসংখ্যার অ্যারে নিই Arr[] এলোমেলো সংখ্যার সাথে শুরু।
- একটি পরিবর্তনশীল n নিন যা Arr[] এর দৈর্ঘ্য সংরক্ষণ করে।
- ফাংশন কাউন্টপেয়ার্স(int arr[], int n) একটি অ্যারে নেয়, এটির দৈর্ঘ্য ইনপুট হিসাবে এবং সেই জোড়া ফিরিয়ে দেয় যা বৈধ এবং কাঙ্ক্ষিত শর্ত পূরণ করে।
- জোড়ার প্রতিটি উপাদানের জন্য লুপের জন্য দুটি ব্যবহার করে ট্রাভার্স অ্যারে।
- 0 থেকে বাইরের লুপ<=i
- arr[i], arr[j] assum=(arr[i]+aar[j]) এর যোগফল গণনা করুন।
- একটি জোড়া বৈধ কিনা তা পরীক্ষা করতে। তুলনা করুন যদি i!=j এবং যোগফল%2==0 এছাড়াও i+j<120.
- এখন দেখুন arr[i]==arr[j] কিনা। বৃদ্ধির সংখ্যা।
- সমস্ত লুপ গণনার শেষে বৈধ জোড়ার মোট সংখ্যা থাকবে
- ফলাফল হিসাবে গণনা ফেরত দিন।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int countPairs(int arr[], int n){ int count=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++) //j=i+1 we don't have to check i!=j{ int sum=arr[i]+arr[j]; //valid pairs have i!=j if( sum%2==0 && i+j<120){ if( arr[i]==arr[j] ) //valid pair{ count++; cout<<endl<<" a:"<<arr[i]<<"b: "<<arr[j]; } } } } return count; } int main(){ int arr[] = {1,2,3,2,4,1,4 }; int n = sizeof(arr) / sizeof(arr[0]); cout <<endl<<"Valid pairs in array:"<<countPairs(arr, n); return 0; }
আউটপুট
Valid pairs in array: a:1b: 1 a:2b: 2 a:4b: 43