C, C++, Java 같은 프로그래밍 언어는 여러 진법의 상수를 쓸 수 있도록 접두 문자(prefix character)라는 규칙을 둔다.
8진법으로 적은 수 앞에는 숫자 0을, 16진법으로 적은 수 앞에는 0x를 붙이고, 10진법에는 아무것도 붙이지 않는다. 10진수 4660을 이 규칙대로 적으면 다음과 같다.
- 8진법: 011064
- 10진법: 4660
- 16진법: 0x1234
접두 문자가 없으면 컴파일러는 그 수가 몇 진법인지 알 방법이 없다. 0x1234에서 0x가 빠지면, 사람은 16진수로 적었어도 컴파일러는 8진수나 10진수로 읽을 수 있다.
이런 상황을 가정하고, 0부터 9까지의 숫자로만 이루어진 문자열을 각각 8진수, 10진수, 16진수로 읽는 프로그램을 작성하시오.