สมมติว่าเรามีชื่อคอลัมน์ของสเปรดชีต เรารู้ว่าหมายเลขคอลัมน์สเปรดชีตเป็นตัวอักษร มันเริ่มต้นจาก A และหลังจาก Z มันจะเป็น AA, AB ถึง ZZ จากนั้นอีกครั้ง AAA, AAB ถึง ZZZ เป็นต้น ดังนั้นคอลัมน์ที่ 1 คือ A คอลัมน์ที่ 27 คือ Z ที่นี่เราจะดูวิธีรับตัวอักษรประจำคอลัมน์หากระบุจำนวนคอลัมน์ ดังนั้นหากหมายเลขคอลัมน์คือ 80 ก็จะเป็น CB ดังนั้นเราจึงต้องหาชื่อคอลัมน์ที่เกี่ยวข้องจากตัวเลข หากอินพุตเป็น 30 มันจะ AD
ตัวอย่าง
#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 << "Cell name of " << n << " is: "; showColumnLetters(700); }
อินพุต
700
ผลลัพธ์
ชื่อเซลล์ 700 คือ:ZX