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

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


Giả sử có một số nguyên dương; ta phải tìm tiêu đề cột tương ứng như trong bảng tính. Vậy [1: A], [2: B], [26: Z], [27: AA], [28: AB] v.v.

Vì vậy, nếu đầu vào là 29, đầu ra sẽ là AC.

Để giải quyết, ta làm theo các bước sau:

  • khi n khác 0, làm:
    • n := n - 1
    • res := res + n mod 26 + ASCII của 'A'
    • n := n / 26
  • đảo ngược mảng res
  • trả về res

Hãy xem triển khai sau để hiểu rõ hơn:

Ví dụ

#include <bits/stdc++.h>
using namespace std;

class Solution {
public:
    string convertToTitle(int n) {
        string res;
        while(n) {
            res += (--n) % 26 + 'A';
            n /= 26;
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

int main() {
    Solution ob;
    cout << (ob.convertToTitle(30));
    return 0;
}

Đầu vào

30

Đầu ra

AD