Module: 비트 연산(C++)


Problem

13 /13


수학 교사 유리 페트로비치

Problem

전설적인 수학 교사 유리 페트로비치가 재미있는 숫자 게임을 생각해 냈습니다. 즉, 임의의 정수를 취하여 1부터 시작하여 0과 1의 시퀀스를 얻는 이진수 시스템으로 변환합니다. (예: 십진수\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ )  바이너리 시스템에서 10011로 기록됩니다. 2.) 그런 다음 교사는 결과 이진수의 숫자를 주기로 이동하기 시작합니다(마지막 숫자가 첫 번째 숫자가 되고 다른 모든 숫자는 오른쪽으로 한 위치 이동됨). 열 —에서 0과 1의 결과 시퀀스를 출력합니다. 그는 초기 숫자의 선택에 관계없이 결과 시퀀스가 ​​특정 순간부터 반복되기 시작한다는 것을 알아차렸습니다. 그리고 마지막으로 Yuri Petrovich는 작성된 숫자의 최대 값을 찾아이 숫자를 조작의 결과로 간주하여 다시 십진수 시스템으로 변환합니다. 따라서 숫자 19의 경우 시퀀스 목록은 다음과 같습니다.
10011
11001
11100
01110
00111
10011
&헬립;
따라서 게임의 결과는 숫자 \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{10} \)

발명된 숫자 게임은 교사의 상상력을 점점 더 많이 필요로 하여 매우 영재 학생과 함께 작업하는 데 방해가 되므로 Yuri Petrovich가 지루한 수동 계산 없이 게임 결과를 얻는 데 도움이 되는 프로그램을 작성하라는 요청을 받았습니다.
 
<사업부>
입력:
입력 파일에는 단일 정수 N (0<=N<=32767)이 포함되어 있습니다. <사업부>
출력: 
프로그램은 게임 결과와 동일한 단일 정수를 출력 파일에 인쇄해야 합니다.

<헤드> <일># <몸>
입력 출력
1 1 1