Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

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

Cho chuỗi chữ số, đếm số chuỗi con đại diện cho số chẵn.

Ví dụ: "1234" → 6 chuỗi con chẵn: 2, 12, 4, 34, 234, 1234.

Giải thuật

  • count = 0
  • Duyệt i=0..len-1: currentDigit = str[i]-'0'
  • Nếu currentDigit % 2 == 0: count += i + 1
  • Trả về count

Giải thích: Mỗi chữ số chẵn tại vị trí i tạo ra i+1 chuỗi con kết thúc tại i (từ 0 đến i).

Ví dụ minh họa

#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

20