मान लीजिए कि हमारे पास n अंकों के साथ एक स्ट्रिंग S है। S का एक विकल्प तब भी कहा जाता है जब इस स्ट्रिंग द्वारा प्रदर्शित संख्या भी सम हो। हमें S के सम सबस्ट्रिंग की संख्या ज्ञात करनी है।
इसलिए, यदि इनपुट S ="1234" जैसा है, तो आउटपुट 6 होगा, क्योंकि सबस्ट्रिंग 2, 4, 12,34, 234, 1234 हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
a := 0 n := size of S for initialize i := 0, when i < n, update (increase i by 1), do: if S[i] mod 2 is same as 0, then: a := a + i + 1 return a
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h>
using namespace std;
int solve(string S){
int a = 0;
int n = S.size();
for (int i = 0; i < n; i++){
if (S[i] % 2 == 0){
a += i + 1;
}
}
return a;
}
int main(){
string S = "1234";
cout << solve(S) << endl;
} इनपुट
1234
आउटपुट
6