Chuyển chuỗi chữ cái thành dãy số trên bàn phím di động cũ (T9). Mỗi phím 2-9 tương ứng 3-4 chữ cái.
Bảng mã phím
2: ABC (2, 22, 222) 3: DEF (3, 33, 333) 4: GHI (4, 44, 444) 5: JKL (5, 55, 555) 6: MNO (6, 66, 666) 7: PQRS (7, 77, 777, 7777) 8: TUV (8, 88, 888) 9: WXYZ (9, 99, 999, 9999) Space: 0
Chương trình C++
#include <bits/stdc++.h>
using namespace std;
string calc_sequence(string arr[], string input) {
string output = "";
int n = input.length();
for (int i = 0; i < n; i++) {
if (input[i] == ' ')
output += "0";
else {
int position = input[i] - 'A';
output += arr[position];
}
}
return output;
}
int main() {
string str[] = {
"2","22","222", // A,B,C
"3","33","333", // D,E,F
"4","44","444", // G,H,I
"5","55","555", // J,K,L
"6","66","666", // M,N,O
"7","77","777","7777", // P,Q,R,S
"8","88","888", // T,U,V
"9","99","999","9999" // W,X,Y,Z
};
string input = "TUTORIALSPOINT";
cout << calc_sequence(str, input);
return 0;
}
Kết quả
8888666777444255577777666444668
Giải mã
T=8, U=888, T=8, O=666, R=777, I=444, A=2, L=555, S=7777, P=7, O=666, I=444, N=66, T=8