একটি অ্যারে দেওয়া আছে। আকার ২ এবং ৩ এর যেসব গ্রুপের যোগফল ৩ দিয়ে বিভাজ্য, তাদের সংখ্যা বের করতে হবে।
উদাহরণ: arr=[1,2,3,4] হলে আউটপুট ৪। গ্রুপ: [1,2], [2,4], [1,2,3], [2,3,4]।
অ্যালগরিদম
- অ্যারে আরম্ভ করুন, count = ০
- দুটি নেস্টেড লুপ: আকার ২ এর সব কম্বিনেশন চেক করুন, যোগফল % 3 == 0 হলে count++
- তিনটি নেস্টেড লুপ: আকার ৩ এর সব কম্বিনেশন চেক করুন, যোগফল % 3 == 0 হলে count++
- count রিটার্ন করুন
ইমপ্লিমেন্টেশন
#include <bits/stdc++.h> using namespace std; int getNumberOfGroupsDivisibleBy3(int arr[], int n) { int count = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { int sum = arr[i] + arr[j]; if (sum % 3 == 0) count += 1; } } for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { for (int k = j + 1; k < n; k++) { int sum = arr[i] + arr[j] + arr[k]; if (sum % 3 == 0) count += 1; } } } return count; } int main() { int arr[] = { 2, 3, 4, 5, 6, 1, 2, 4, 7, 8 }; int n = 10; cout << getNumberOfGroupsDivisibleBy3(arr, n) << endl; return 0; }আউটপুট
57