バックグラウンド
整数のハミング重みは、バイナリ表現の1の数です。このチャレンジでは、整数は32ビットで表され、符号なしです。
チャレンジ
0から2 ^ 32-1までの整数(非包括的)が与えられた場合、同じ範囲内で同じハミング重みを持つ異なる整数を出力します。
例
Input (Decimal) | Input (Binary) | Hamming weight | Possible output (Decimal)
       46       |   0b0010 1110  |       4        |      15
       12       |   0b0000 1100  |       2        |      3
        1       |   0b0000 0001  |       1        |      2
        3       |   0b0000 0011  |       2        |      6
      2^31      |   0b1000....0  |       1        |      1
      2^31+2    |   0b1000...10  |       2        |      3
      2^32-5    |   0b1111..011  |       31       |      2^31-1
      2^32-2    |   0b1111....0  |       31       |      2^31-1
        0       |   0b0000 0000  |       0        | None (This case need not be handled)
      2^32-1    |   0b1111....1  |       32       | None (This case need not be handled)
得点
これはcode-golfであるため、各言語の最小バイトでのソリューションが優先されます。
2^31+2、奇数を言ったことを繰り返します。問題の答えは場合にのみ、失敗の両方の最上位と最下位ビットです1。