আমাদের দুটি পূর্ণসংখ্যা অ্যারে দেওয়া আছে, যেমন arr_1[] এবং arr_2[], এবং আমাদের কাজ হল একই অঙ্কযোগফল নিয়ে স্বতন্ত্র জোড়াগুলির সংখ্যা গণনা করা। অর্থাৎ, একটি মান arr_1[]-থেকে এবং অন্যটি arr_2[]-থেকে বেছে নিয়ে একটি জোড়া তৈরি করতে হবে এবং উভয় মানের অঙ্কযোগফল একই হতে হবে।
উদাহরণ
ইনপুট − int arr_1[] = {1, 22, 42, 17} Int arr_2[] = {1, 31, 6, 8} আউটপুট − গণনা 4
ব্যাখ্যা − মোট 4টি জোড়ার অঙ্কযোগফল একই এবং সেগুলো হল (1, 1), (22, 31), (42, 6) এবং (17, 8)।
ইনপুট − int arr_1[] = {1, 22, 42, 17} Int arr_2[] = {2, 78, 6, 18} আউটপুট − গণনা 1
ব্যাখ্যা − মোট একটিই জোড়ার অঙ্কযোগফল একই এবং সেটি হল (42, 6)।
ইনপুট − int arr_1[] = {1, 22, 42, 17} Int arr_2[] = {2, 78, 16, 18} আউটপুট − গণনা 0
ব্যাখ্যা − একই অঙ্কযোগফল নিয়ে কোনো জোড়া নেই, তাই গণনা 0।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- দুটি অ্যারে তৈরি করুন, যেমন
arr_1[]এবংarr_2[] length()ফাংশন ব্যবহার করে দুটি অ্যারের দৈর্ঘ্য গণনা করুন- একটি
setটাইপ ভেরিয়েবল তৈরি করুন, যেমনst i = 0থেকেi < arr_1[]এর আকার পর্যন্ত লুপ শুরু করুন- লুপের ভিতরে
j = 0থেকেj < arr_2[]এর আকার পর্যন্ত অন্য একটি লুপ শুরু করুন - যদি
Sum(arr[i]) == sum(arr_2[j])হয় তবে চেক করুনarr_1[i] < arr_2[j]হলেinsert(make_pair(arr_1[i], arr_2[j]))করুন - অন্যথায়
insert(make_pair(arr_2[j], arr_1[i]))করুন st.size()ফেরত দিন- ফলাফল প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
#include <set>
using namespace std;
// একটি সংখ্যার অঙ্কযোগফল খুঁজে বের করার ফাংশন
int sumdigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n = n / 10;
}
return sum;
}
// জোড়ার সংখ্যা গণনা করার ফাংশন
int paircount(int arr_1[], int arr_2[], int size1, int size2) {
// ডুপ্লিকেট জোড়া এড়াতে set ব্যবহার
set<pair<int, int> > myset;
for (int i = 0; i < size1; i++) {
for (int j = 0; j < size2; j++) {
// উভয় উপাদানের অঙ্কযোগফল চেক করুন
if (sumdigits(arr_1[i]) == sumdigits(arr_2[j])) {
if (arr_1[i] < arr_2[j]) {
myset.insert(make_pair(arr_1[i], arr_2[j]));
} else {
myset.insert(make_pair(arr_2[j], arr_1[i]));
}
}
}
}
// set-এর আকার ফেরত দিন
return myset.size();
}
// Driver code
int main() {
int arr_1[] = { 1, 22, 42, 17 };
int arr_2[] = { 5, 31, 6, 8 };
int size1 = sizeof(arr_1) / sizeof(arr_1[0]);
int size2 = sizeof(arr_2) / sizeof(arr_2[0]);
cout << "count is " << paircount(arr_1, arr_2, size1, size2);
return 0;
}
আউটপুট
যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব −
count is 3