[BOJ 8611] 팰린드롬 숫자

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

팰린드롬은 앞에서 부터 읽었을 때와 뒤에서 부터 읽었을 때가 같은 문자열을 말한다. 예를 들어, "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

There are no comments at the moment.