Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ นับสตริงย่อยเลขคู่ของสตริงตัวเลข

สมมติว่าเรามีสตริง S ที่มี n หลัก สตริงย่อยของ S ถูกว่าคู่ถ้าตัวเลขที่แทนโดยสตริงนี้เป็นเลขคู่ ต้องหาจำนวนสตริงย่อยคู่ของ S

เช่น ถ้าอินพุตคือ S = "1234" เอาต์พุตจะเป็น 6 เพราะสตริงย่อยคือ 2, 4, 12, 34, 234, 1234

ขั้นตอนการแก้ปัญหา

a := 0
n := ขนาดของ S
for i := 0 ถึง n-1:
    if S[i] mod 2 == 0:
        a := a + i + 1
return a

ตัวอย่างโค้ด

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

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

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

อินพุต

1234

เอาต์พุต

6