Excel 열 번호는 알파벳순이라는 것을 알고 있습니다. A에서 시작하여 Z 다음에는 AA, AB, ZZ, 다시 AAA, AAB, ZZZ 순으로 진행됩니다. 따라서 1열은 A, 27열은 Z입니다. 여기에서 열의 개수가 주어졌을 때 열 문자를 얻는 방법을 살펴보겠습니다. 따라서 열 번호가 80이면 CB가 됩니다.
숫자 n이 있고 그 값이 28이라고 가정하면 26으로 알림을 받아야 합니다. 나머지가 0이면 숫자는 26, 52 등입니다. 그런 다음 출력 문자열에 Z를 넣습니다. n의 값은 n/26 – 1이 됩니다. 그리고 나머지가 0이 아니면 문자열에 그에 따라 문자를 삽입하고 n =n/26을 수행해야 합니다. 마지막으로 문자열의 반대가 인쇄됩니다.
예시
#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); }
출력
Cell name of 700 is: ZX