15
いくつかのビットを切り替えて、正方形を取得します
整数与えられた場合、を反転して正方数に変換する必要がある最小ビット数を見つける必要があります。最上位ビットより下のビットのみを反転できます。NN> 3N>3N>3NNN 例 2 2 0N= 4N=4N=4すでに平方数()であるため、期待される出力はです。22222^2000 11000 → 1100 1 25 = 5 2 1N= 24N=24N=24は、1ビットを反転することにより2進数に変換できます:()。したがって、期待される出力はです。11000 → 1100 111000→1100111000 \rightarrow 1100\color{red}125 = 5225=5225=5^2111 23 20 18 30 10110 → 10 0 0 0 16 = 4 2 2N= 22N=22N=22単一のビットを反転させ平方数に変えることができない(可能な結果がある、、及び)が、2ビット反転させることによって行うことができる:()。したがって、期待される出力はです。23232320202018181830303010110 → 10 0 0 010110→1000010110 \rightarrow 10\color{red}0\color{red}0016 = 4216=4216=4^2222 ルール …