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