Giả sử có tiêu đề cột của bảng tính. Chúng ta biết số cột bảng tính là chữ cái. Bắt đầu từ A, sau Z sẽ là AA, AB, đến ZZ, rồi AAA, AAB, đến ZZZ, v.v. Cột 1 là A, cột 27 là Z. Ở đây ta sẽ thấy cách lấy chữ cái cột nếu số cột cho trước. Nếu số cột là 80, sẽ là CB. Ta phải tìm tiêu đề cột tương ứng từ số. Nếu đầu vào là 30, kết quả là AD.
Ví dụ
#include<iostream>
#include<algorithm>
using namespace std;
void showColumnLetters(int n) {
string str = "";
while (n) {
int rem = n % 26;
if (rem == 0) {
str += 'Z';
n = (n / 26) - 1;
} else {
str += (rem - 1) + 'A';
n = n / 26;
}
}
reverse(str.begin(), str.begin() + str.length());
cout << str << endl;
}
int main() {
int n = 700;
cout << "Tên ô của " << n << " là: ";
showColumnLetters(700);
return 0;
}
Đầu vào
700
Đầu ra
Tên ô của 700 là: ZX