Arka fon
Hamming ağırlığı bir tamsayı olan ikili gösterimine olanlar sayısıdır. Bu zorluk için, tamsayılar 32 bit ile temsil edilir ve imzasızdırlar.
Meydan okuma
0 ile 2 ^ 32-1 (dahil olmayan) arasında bir tam sayı verildiğinde , aynı aralıkta ve aynı Hamming ağırlığı ile farklı bir tam sayı çıkar.
Örnekler
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)
puanlama
Bu kod golf , yani her dilde en az bayttaki çözüm kazanıyor.
2^31+2
, garip bir numara söylediğimi tekrarlayacağım . Söz konusu cevaplar sadece hem en yüksek hem de en düşük bit olduğunda başarısız olmuştur 1
.