http://synapsoft.co.kr/jsp/recruit/13_apply.html
10진법 표기법은 다음과 같다.
N = a_n x 10^n + ... + a_1 x 10^1 + a_0 x 10^0 , a_i ∈ { 0 , ..., 9 }
이 표기법으로는 0 이상의 모든 수를 표현할 수 있으며, 표기법은 유일하다.
이 표기법을 살짝 바꾼 표기법을 만들어 보면,
N = a_n x 10^n + ... + a_1 x 10^1 + a_0 x 10^0 , a_i ∈ { 一 , ..., 九, 十 }이 표기법으로는 1 이상의 모든 수를 표현할 수 있으며 ( 0은 표기하지 못한다. ), 표기법은 유일하다.
심볼을 10개가 아닌 알파벳 대문자를 이용하면 26진법과 유사하게 26의 거듭제곱의 합으로 표현되는 표기법이 가능하다. 즉,
N = a_n x 26^n + ... + a_1 x 26^1 + a_0 x 26^0 , a_i ∈ { A , ..., Z }
이 표기법이 바로 문제에서 나온 엑셀 컬럼 문자이다.
일반적인 10진법 표기를 구하는 알고리즘은 다음과 같다.
0. n을 10으로 나눈 나머지 (0, ... , 9) 가 가장 마지막 자리의 숫자가 된다.
1. n을 10으로 나눈 몫이 0이 아니라면, 그 값을 n으로 삼는다. 0이라면 끝낸다.
2. n을 10으로 나눈 나머지 (0, ..., 9) 가 그 다음 숫자가 된다.
3. 1로 간다.
0이 없는 유사N진법 표기는 알고리즘이 달라져야 한다.
0. n을 N으로 나눈 나머지 (1, ..., N ) 이 가장 마지막 자리의 숫자가 된다.
1. (n-나머지)을 N으로 나눈 몫이 0이 아니라면, 그 값을 n으로 삼는다. 0이라면 끝낸다.
2. n을 N으로 나눈 나머지 (1,..., N ) 가 그 다음 숫자가 된다.
3. 1로 간다.
'프로그래밍 > 미분류' 카테고리의 다른 글
알파벳 순서인 A - E 로 이루어진 문자열 (0) | 2014.03.19 |
---|---|
front end allocator / back end allocator (0) | 2014.03.15 |
stack overflow 메모리 탐구. (0) | 2013.08.21 |
프로세스, 쓰레드, 잡 설명 (Windows Sysinternals Administrator’s Reference) (0) | 2012.07.26 |
0xF4 CRITICAL_OBJECT_TERMIN (0) | 2012.07.10 |