कार्य विवरण
एक पूर्णांक को देखते हुए इसकी स्वैप (2k-1) मई और 2k सभी पूर्णांकों के लिए मई के कम से कम महत्वपूर्ण बिट कश्मीर> 0 । यह OEIS में अनुक्रम A057300 है।
(संख्या को "असीम रूप से कई" अग्रणी शून्य माना जाता है। व्यवहार में, इसका अर्थ है कि एक 0 बिट को विषम-लंबाई संख्या में प्रस्तुत करना।)
यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड (बाइट्स में) जीतता है।
परीक्षण के मामलों
0 -> 0
1 -> 2
9 -> 6
85 -> 170
220 -> 236
1827 -> 2835
47525 -> 30298
unsigned char array_of_bytes[1024]
आपकी अपेक्षा के अनुरूप काम करने की आवश्यकता है (अर्थात 1024 * CHAR_BIT
प्रविष्टियों के साथ एक बिटफील्ड होना चाहिए )। मुझे लगता है कि मनमाने ढंग से लंबाई के इनपुट का समर्थन करने वाले अधिकांश उत्तर मानेंगे CHAR_BIT
, हालांकि, बाइट्स के बीच बिट्स को स्थानांतरित करने के बाद से बोझिल है। तो आप बिल्कुल k
कुछ स्थिर आकार का समर्थन करने की आवश्यकता कर सकते हैं , जैसे 256 या ऐसा कुछ जो एईएस के लिए उचित है, और 256 बिट पूर्णांक प्रकारों के बिना भाषाओं को लूप का उपयोग करना होगा। यह एक x86 asm उत्तर के लिए विचार करने के लिए SIMD वैक्टर बना सकता है: P