아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

음수 기저

시간 제한2초메모리 제한512 MB

요약
음이 아닌 정수를 -2진법으로 나타냈을 때 0이 k개 이상 연속으로 나오는 수 가운데 절댓값이 가장 작은 수를 찾는다. 절댓값이 같으면 표현 길이가 짧은 쪽을 고른다.
난이도

보통10점 중 6점

유형
수학, 비트 연산, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

이진 위치 기수법은 다음과 같이 동작한다. 음이 아닌 정수 xx를 0과 1로 이루어진 문자열 "x_k…x_2x_1x_0x\_k \ldots x\_2 x\_1 x\_0"으로 나타내면 x=x_k⋅2k+…+x_2⋅22+x_1⋅21+x_0⋅20x = x\_k \cdot 2^k + \ldots + x\_2 \cdot 2^2 + x\_1 \cdot 2^1 + x\_0 \cdot 2^0이라는 뜻이다. 앞의 0은 생략하므로 x_k=1x\_k = 1이고, x=0x = 0인 경우만 "00"으로 나타낸다.

네가바이너리 표기법도 비슷하게 동작한다. 어떤 수 xx를 0과 1로 이루어진 문자열 "x_k…x_2x_1x_0x\_k \ldots x\_2 x\_1 x\_0"으로 나타내면 x=x_k⋅(−2)k+…+x_2⋅(−2)2+x_1⋅(−2)1+x_0⋅(−2)0x = x\_k \cdot (-2)^k + \ldots + x\_2 \cdot (-2)^2 + x\_1 \cdot (-2)^1 + x\_0 \cdot (-2)^0이라는 뜻이다. 앞의 0은 역시 생략하므로 x_k=1x\_k = 1이고, x=0x = 0인 경우만 "00"으로 나타낸다. 이 표기법은 음이 아닌 정수뿐 아니라 모든 정수에 대해 유일한 표현을 가진다.

−7-7부터 88까지의 수를 네가바이너리로 나타내면 다음과 같다.

−7-7100110011111
−6-61110111022110110
−5-51111111133111111
−4-41100110044100100
−3-31101110155101101
−2-21010661101011010
−1-11111771101111011
0000881100011000

정수 kk가 주어졌을 때, 네가바이너리 표현에 연속한 0이 적어도 kk개 있는 수를 찾는다. 그러한 수 중에서 절댓값이 가장 작은 수를 찾는다. 그러한 수가 여러 개라면 네가바이너리 표현의 길이가 가장 짧은 수를 고른다.

입력

첫째 줄에 정수 kk가 주어진다. (1≤k≤301 \le k \le 30)

출력

문제의 답이 되는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    2
    
    예상 출력
    4