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