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