Lý lịch
Các Hamming trọng lượng của một số nguyên là số của những người thân trong biểu diễn nhị phân của nó. Đối với thử thách này, số nguyên được biểu diễn với 32 bit và chúng không được ký.
Thử thách
Cho một số nguyên trong khoảng từ 0 đến 2 ^ 32-1 (không bao gồm), xuất ra một số nguyên khác nhau trong cùng phạm vi và cũng có cùng trọng số Hamming.
Ví dụ
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)
Chấm điểm
Đây là môn đánh gôn , vì vậy giải pháp trong số ít byte nhất trong mỗi ngôn ngữ sẽ thắng.
2^31+2
, tôi sẽ nhắc lại rằng tôi đã nói một số lẻ . Các câu trả lời trong câu hỏi chỉ thất bại khi cả bit cao nhất và thấp nhất là 1
.