Contexte
Le poids de Hamming d'un entier est le nombre d'unités dans sa représentation binaire. Pour ce défi, les entiers sont représentés avec 32 bits et ils ne sont pas signés.
Défi
Étant donné un entier compris entre 0 et 2 ^ 32-1 (non inclus), sortez un entier différent dans la même plage, et également avec le même poids de Hamming.
Exemples
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)
Notation
C'est du code-golf , donc la solution dans le moins d'octets dans chaque langue l'emporte.
2^31+2
, je répète que j'ai dit un nombre impair . Les réponses en question seulement échoué lorsque les deux le plus haut et le bit le plus bas sont 1
.