কম্পিউটার

C++ এ সংখ্যার একটি স্ট্রিংয়ে জোড় সাবস্ট্রিংয়ের সংখ্যা


অঙ্কের একটি স্ট্রিং দেওয়া, আমাদের এটিতে জোড় সাবস্ট্রিংগুলির গণনা খুঁজে বের করতে হবে। আসুন একটি উদাহরণ দেখি।

ইনপুট

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

  1. সাংখ্যিক স্ট্রিং এর জোড় সাবস্ট্রিং সংখ্যা গণনা করতে C++ কোড

  2. C++ এ পূর্ণসংখ্যার একটি স্ট্রিংয়ে 6 দ্বারা বিভাজ্য সাবস্ট্রিংয়ের সংখ্যা

  3. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  4. C++ এ একটি পূর্ণসংখ্যাতে জোড় এবং বিজোড় সংখ্যা গণনা করুন