Description
컴퓨터에서 10진법 말고 주로 사용하는 진법은 2진법, 8진법, 16진법 등이며 b진법의 각 자리는 0...b-1 구간에 포함된다.
예를 들어, 10진법의 9는 다음과 같이 작성할 수 있다.
16진법으로는 9
8진법으로는 11 (1×81 + 1×80 = 9)
2진법으로는 1001 (1×23 + 0×22 + 0×21 + 1×20 = 9)
9는 위의 세가지 진법에서 모두 팰린드롬이다. 팰린드롬이란 순서를 반대로 했을 때, 원래 순서와 같은 수열을 의미한다.
9, 11, 110011, FAAF, A77877A 등과 같은 숫자는 팰린드롬이다.
10진법 숫자 X가 주어졌을 때, 임의의 b진법으로 나타낼 경우 팰린드롬이 가능한 b진법 수가 존재하는지를 판단하는 프로그램을 작성해 보자.
(단, 2 ≤ b ≤ 36)
Input
첫쨰줄에 테스트케이스 T가 입력된다.(1 ≤ T ≤ 50)
그 다음줄 부터 T개의 십진수 X가 한 줄씩 입력된다.(0 ≤ X ≤ 1,000,000,000)
Output
10진법 숫자 X가 어떤 진법으로 나타냈을 때, 팰린드롬이 되는 경우가 하나라도 있으며 YES, 팰린드롬이 되는 어떠한 진법의 숫자도 존재하지 않으면 NO를 한 줄에 하나씩 출력한다.
HINT
255는 2진수로 11111111, 16진수로 FF 이므로 2가지 진수의 경우에 팰린드롬이 되나, 71823은 2진수부터 36진수까지 모두 변환해 봐도 팰린드롬인 경우가 발생하지 않는다.