আমাদের একটি পূর্ণসংখ্যা অ্যারে দেওয়া আছে যেকোনো আকারের, এবং আমাদের কাজ হল অ্যারেতে থাকা জোড়াগুলির সংখ্যা গণনা করা যাতে একটি জোড়ার এক উপাদান অন্য উপাদানকে ভাগ করতে পারে।
উদাহরণ
ইনপুট − int arr[] = {1, 2, 3, 6} আউটপুট − গণনা 4
ব্যাখ্যা − (1,2), (1,3), (1,6) এবং (3,6) হল সেই জোড়াগুলো যেখানে একটি উপাদান অন্যটিকে ভাগ করতে পারে কারণ 1 যেকোনো সংখ্যাকে ভাগ করতে পারে এবং 3 또한 6 কে ভাগ করতে পারে। তাই গণনা 4।
ইনপুট − int arr[] = {2, 5, 10} আউটপুট − গণনা 2
ব্যাখ্যা − (2, 10) এবং (5,10) হল সেই জোড়াগুলো যেখানে একটি উপাদান অন্যটিকে ভাগ করতে পারে কারণ 2, 10 কে ভাগ করতে পারে এবং 5 또한 10 কে ভাগ করতে পারে। তাই গণনা 2।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- একটি অ্যারে তৈরি করুন, যেমন
arr[] length()ফাংশন দিয়ে অ্যারের দৈর্ঘ্য গণনা করুন- একটি অস্থায়ী ভেরিয়েবল নিন যা শুধুমাত্র অ্যারেতে থাকা উপাদানগুলির গণনা সংরক্ষণ করবে
i = 0থেকেi < sizeপর্যন্ত লুপ শুরু করুন- লুপের ভিতরে
j = i+1থেকেj < sizeপর্যন্ত অন্য একটি লুপ শুরু করুন - যদি
arr[i] % arr[j] == 0অথবাarr[j] % arr[i] == 0হয় তবেcountবৃদ্ধি করুন countফেরত দিন- ফলাফল প্রিন্ট করুন
উদাহরণ কোড
#include <iostream>
using namespace std;
int divisibles(int a[], int size) {
int result = 0;
// সব জোড়া দ্বারা পুনরাবৃত্তি করুন
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) {
if (a[i] % a[j] == 0 || a[j] % a[i] == 0) {
result++;
}
}
}
return result;
}
int main() {
int a[] = {1, 4, 7, 8, 9};
int size = sizeof(a) / sizeof(a[0]);
cout << "count is " << divisibles(a, size);
return 0;
}
আউটপুট
যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব −
count is 5