sfondo
Il peso di Hamming di un numero intero è il numero di quelli nella sua rappresentazione binaria. Per questa sfida, i numeri interi sono rappresentati con 32 bit e sono senza segno.
Sfida
Dato un numero intero compreso tra 0 e 2 ^ 32-1 (non inclusivo), genera un numero intero diverso all'interno dello stesso intervallo e anche con lo stesso peso di Hamming.
Esempi
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)
punteggio
Questo è code-golf , quindi vince la soluzione nel minor numero di byte in ogni lingua.
2^31+2
, ripeterò che ho detto un numero dispari . Le risposte in questione sono fallite solo quando sono presenti sia il bit più alto che quello più basso 1
.