Module: ビット演算 (C++)


Problem

13 /13


数学教師ユーリ・ペトロヴィッチ

Problem

伝説的な数学教師ユーリ ペトロヴィッチは、数字を使った面白いゲームを考案しました。つまり、任意の整数を 2 進数系に変換し、1 から始まる 0 と 1 のシーケンスを取得します。 (例: 10 進数\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ )  バイナリシステムでは 10011 と記述されます。 2) 次に、教師は、結果の 2 進数の桁をサイクル内でシフトし始めます (最後の桁が最初の桁になり、他のすべての桁が 1 つ右にシフトされます)。結果として得られる列の 0 と 1 のシーケンスを出力します。彼は、最初の数字の選択に関係なく、結果として得られるシーケンスが特定の瞬間から繰り返され始めることに気づきました。そして最後に、ユーリ・ペトロヴィッチは、書き出された数値の最大値を見つけて、この数値が行われた操作の結果であると考えて、それを 10 進数体系に変換し直します。したがって、数値 19 の場合、シーケンスのリストは次のようになります。
10011
11001
11100
01110
00111
10011

したがって、ゲームの結果は数値 \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{ 10} \)

発明された数字を使ったゲームは教師の想像力をますます必要とし、それによって教師の注意を非常に才能のある生徒たちとの仕事からそらすため、あなたはユーリ・ペトロヴィッチが面倒な手計算をせずにゲームの結果を得るのに役立つプログラムを書くように求められます。
 
入力:
入力ファイルには 1 つの整数 N (0<=N<=32767) が含まれています。
出力: 
プログラムは、ゲームの結果に等しい単一の整数を出力ファイルに出力する必要があります。

<頭> <本体>
# 入力 出力
1 1 1