Computer >> Máy Tính >  >> Lập trình >> C ++

Tiêu đề cột trang tính Excel trong C ++


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

Vì vậy, nếu đầu vào là 28, thì đầu ra sẽ là AB.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • trong khi n khác 0, do -

    • n:=n - 1

    • res:=res + n mod 26 + ASCII của 'A'

    • n:=n / 26

  • đảo ngược res mảng

  • trả lại res

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#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;
   }
};
main(){
   Solution ob;
   cout << (ob.convertToTitle(30));
}

Đầu vào

30

Đầu ra

AD