Giới thiệu
Cho một chuỗi ký tự, đếm số cặp ký tự liền kề mà cả hai đều là nguyên âm (a, e, i, o, u - không phân biệt chữ hoa/thường).
Ví dụ
- "tutorials point" → Các cặp: (i,a), (o,i) → Kết quả: 2
- "learning" → Cặp (e,a) → Kết quả: 1
Ý tưởng giải thuật
- Duyệt chuỗi từ 0 đến length-2.
- Kiểm tra s[i] và s[i+1] có đều là nguyên âm không.
- Nếu có, tăng bộ đếm.
Ví dụ triển khai (C++)
#include <bits/stdc++.h>
using namespace std;
bool isVowel(char c) {
c = tolower(c);
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
int countVowelPairs(string str) {
int count = 0;
for (int i = 0; i + 1 < str.length(); i++) {
if (isVowel(str[i]) && isVowel(str[i+1]))
count++;
}
return count;
}
int main() {
string str = "tutorials point";
cout << "So cap nguyen am lien ke: " << countVowelPairs(str); // 2
return 0;
}
Đầu vào
"tutorials point"
Đầu ra
2