पृष्ठभूमि
आलोचनात्मक वजन एक पूर्णांक के अपने द्विआधारी प्रतिनिधित्व में लोगों की संख्या है। इस चुनौती के लिए, पूर्णांक 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)
स्कोरिंग
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में सबसे कम बाइट्स में समाधान जीतता है।
2^31+2
, इसलिए मैं दोहराऊंगा कि मैंने एक विषम संख्या कहा है । प्रश्न के उत्तर केवल तभी विफल हुए जब उच्चतम और निम्नतम बिट दोनों हैं 1
।