Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ชื่อคอลัมน์แผ่นงาน Excel ใน C ++


สมมติว่าเรามีจำนวนเต็มบวก เราต้องหาชื่อคอลัมน์ที่เกี่ยวข้องตามที่ปรากฏในแผ่นงาน Excel ดังนั้น [1 :A], [2 :B], [26 :Z], [27 :AA], [28 :AB] เป็นต้น

ดังนั้นหากอินพุตเท่ากับ 28 เอาต์พุตจะเป็น AB

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ในขณะที่ n ไม่ใช่ศูนย์ ให้ทำ -

    • n :=n - 1

    • res :=res + n mod 26 + ASCII ของ 'A'

    • น :=n / 26

  • ย้อนกลับความละเอียดอาร์เรย์

  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −

#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));
}

อินพุต

30

ผลลัพธ์

AD