[BOJ 8611] 팰린드롬 숫자
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
2
Time limit:
1.0s
Memory limit:
128M
Problem types
Allowed languages
팰린드롬은 앞에서 부터 읽었을 때와 뒤에서 부터 읽었을 때가 같은 문자열을 말한다. 예를 들어, "ala"과 "aa"는 팰린드롬이고, "adam"은 팰린드롬이 아니다.
모든 정수는 ((a_na_{n-1}\dots a_1a_0)_k)와 같이 k진법으로 나타낼 수 있다. 모든 (a_i)는 k보다 작은 음이 아닌 정수이어야 한다.
((a_na_{n-1}\dots a_1a_0)_k)가 나타내는 값은 (a_n \cdot k^n + a_{n-1} \cdot k^{n-1} + \cdots + a_1 \cdot k + a_0) 이다. 예를 들어, 10진법 숫자 (123_{10})의 값은 (1 \cdot 100 + 2 \cdot 10 + 3)이고, 8진법 숫자 (123_8)의 값은 (1 \cdot 64 + 2 \cdot 8 + 3) 이다.
10진법 숫자 (n)이 주어졌을 때, (\left{ 2, 3, \dots, 10 \right} )진법으로 나타냈을 때, 팰린드롬인 것을 모두 구하는 프로그램을 작성하시오.
입력 형식
첫째 줄에 (n)이 주어진다. (1 ≤ (n) ≤ 101000)
출력 형식
(n)을 (2, 3, \dots, 10) 진법으로 나타냈을 때, 팰린드롬인 경우가 없다면, "NIE"를 출력한다. 그 외의 경우에는 팰린드롬이 되는 진법 (b)와 (n)을 (b)진법으로 나타낸 수 (m)을 출력한다. 출력은 (b)가 증가하는 순서대로 한다.
예제 입력
15
예제 출력
2 1111
4 33
힌트
(1 \cdot 2^3 + 1 \cdot 2^2 + 1 \cdot 2 + 1 = 3 \cdot 4 + 3 = 15)
Comments