अंकों की एक स्ट्रिंग दी गई है, हमें इसमें सम सबस्ट्रिंग्स की संख्या ढूंढनी है। आइए एक उदाहरण देखते हैं।
इनपुट
num = "1234"
आउटपुट
6
दी गई स्ट्रिंग से बनने वाले सम सबस्ट्रिंग्स हैं:
2 12 4 34 234 1234
एल्गोरिदम
- अंकों के साथ स्ट्रिंग को आरंभ करें।
- काउंट को 0 पर आरंभ करें।
- स्ट्रिंग पर पुनरावृति करें।
- वर्तमान वर्ण से '0' घटाकर वर्तमान अंक प्राप्त करें।
- जांचें कि अंक सम है या नहीं।
- यदि वर्तमान अंक सम है, तो इसके इंडेक्स प्लस 1 को काउंट में जोड़ें।
- काउंट लौटाएं।
कार्यान्वयन
उपरोक्त एल्गोरिदम का C++ में कार्यान्वयन निम्नलिखित है:
#include<bits/stdc++.h> using namespace std; int getEvenSubstringsCount(char str[]) { int len = strlen(str), count = 0; for (int i = 0; i < len; i++) { int currentDigit = str[i] - '0'; if (currentDigit % 2 == 0) { count += i + 1; } } return count; } int main() { char str[] = "12345678"; cout << getEvenSubstringsCount(str) << endl; return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
20