Computer >> Máy Tính >  >> Lập trình >> C ++

Số chuỗi con chẵn trong một chuỗi chữ số trong C ++

Cho một chuỗi các chữ số, chúng ta cần tìm số lượng các chuỗi con chẵn trong đó. Hãy xem một ví dụ.

Đầu vào

num = "1234"

Đầu ra

6

Các chuỗi con chẵn có thể được hình thành từ chuỗi đã cho là

2
12
4
34
234
1234

Thuật toán

  • Khởi tạo chuỗi bằng các chữ số.

  • Khởi tạo số đếm thành 0

  • Lặp lại chuỗi.

    • Nhận chữ số hiện tại bằng cách trừ đi ký tự 0 từ ký số char hiện tại.

    • Kiểm tra xem chữ số có chẵn hay không.

    • Nếu chữ số hiện tại là số chẵn, thì hãy thêm chỉ số của nó cộng với 1 vào số đếm.

  • Trả lại số lượng.

Thực hiện

Sau đây là cách thực hiện thuật toán trên trong 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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau.

20