इस समस्या में, हमें एन तत्वों से युक्त एक सरणी गिरफ्तारी [] दी जाती है। हमारा काम सम योग के साथ सबअरे को खोजना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
arr[] = {2, 1, 3, 4, 2, 5} आउटपुट
28
स्पष्टीकरण
उप-सरणी हैं -
{2}, {4}, {2}, {2, 4}, {2, 2}, {1, 3}, {1, 5}, {3, 5}, {4, 2}, {2, 1, 3}, {2, 1, 5}, {2, 3, 5}, {2, 4, 2}, {1, 3, 4}, {1, 3, 2}, {1, 4, 5}, {1, 2, 5}, {3, 4, 5}, {3, 2, 5}, {2, 1, 3, 4}, {2, 1, 3, 2}, {2, 3, 4, 5}, {2, 3, 2, 5}, {2, 4, 2, 5}, {1, 3, 4, 2}, {1, 4, 2, 5}, {3, 4, 2, 5}, {2, 1, 3, 4, 2}, {2, 1, 3, 4, 2, 5} समाधान दृष्टिकोण
समस्या का एक सरल समाधान प्रत्यक्ष विधि का उपयोग कर रहा है जो सभी उप-सरणी और उनके योगों की गणना करके है। और सम राशि के साथ उप-सरणी के लिए वृद्धि की संख्या। और अंत में वापसी की गिनती।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include<iostream>
using namespace std;
int countEvenSumSubArray(int arr[], int n){
int evenSumCount = 0, sum = 0;
for (int i=0; i<=n-1; i++){
sum = 0;
for (int j=i; j<=n-1; j++){
sum += arr[j];
if (sum % 2 == 0)
evenSumCount++;
}
}
return (evenSumCount);
}
int main(){
int arr[] = {2, 1, 4, 2};
int n = sizeof (arr) / sizeof (arr[0]);
cout<<"The count of Subarrays with even sum is "<<countEvenSumSubArray(arr, n);
return (0);
} आउटपुट
The number of solutions of the linear equation is 8