Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình tìm số cột bảng tính từ tiêu đề cột trong C++


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