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

Đếm số xâu con chẵn của chuỗi số bằng C++

Mô tả bài toán

Cho chuỗi S n chữ số. Xâu con là chẵn nếu số nó biểu diễn là chẵn. Đếm số xâu con chẵn.

Ví dụ

S="1234" → xâu con chẵn: "2","4","12","34","234","1234" → 6.

Thuật toán

Xâu con kết thúc tại i (0-based) là chẵn nếu S[i] chẵn. Số xâu con kết thúc tại i = i+1. Tổng = sum(i+1) cho mọi i với S[i] chẵn.

Code C++

#include <bits/stdc++.h>
using namespace std;

int solve(string S) {
    long long ans = 0;
    for (int i = 0; i < (int)S.size(); i++)
        if ((S[i]-'0') % 2 == 0)
            ans += i + 1;
    return ans;
}

int main() {
    string S = "1234";
    cout << solve(S) << endl;
    return 0;
}

Đầu vào / Đầu ra

Input: 1234

Output: 6