728x90
1. 문제
https://codeup.kr/problem.php?id=2023
엑셀의 열 순서
n이 입력된다. ( 1 <= n <= 999,999,999 )
codeup.kr
[출처 : 코드업(https://codeup.kr/)]
이번 문제는 어려워 보이지만 조금만 생각하면 10진법을 26진법으로 변환한다는것을 알수있다.
진법 변환하는 방법은 이전에 다뤘기 때문에 참고하길 바랍니다.
[프로그래밍/CodeUp] - CodeUp[Q_2017] : 진법 변환
2. 해답
#include <stdio.h>
#include <string.h>
void number_system(int num) {
int tmp = num;
int c = 0;
char Arr[7];
for (int i = 0; i < 7; i++) {
if (tmp == 0) {
break;
}
// A ~ Z가 26개이므로 26진법으로 변환
Arr[i] = (char)(((tmp - 1) % 26) + 65);
tmp = ((tmp - 1) / 26);
c++;
}
for (int i = c - 1; i >= 0; i--) {
printf("%c", Arr[i]);
}
printf("\n");
}
int main() {
int num;
scanf("%d", &num);
number_system(num);
return 0;
}
'프로그래밍 > CodeUp' 카테고리의 다른 글
CodeUp[Q_2025] : 좋은 날 (0) | 2020.03.19 |
---|---|
CodeUp[Q_2024] : 숫자를 한글로 변환 (7) | 2020.03.18 |
CodeUp[Q_2020] : 아로마 수 (0) | 2020.03.16 |
CodeUp[Q_2019] : 이차 방정식의 해 (0) | 2020.03.15 |
CodeUp[Q_2018] : 개미 수열 (0) | 2020.03.14 |