मान लीजिए कि हमारे पास एक संख्या n है। हमें जांचना है कि n का द्विआधारी प्रतिनिधित्व पैलिंड्रोम है या नहीं।
इसलिए, यदि इनपुट n =9 जैसा है, तो आउटपुट सही होगा क्योंकि 9 का बाइनरी प्रतिनिधित्व 1001 है, जो कि पैलिंड्रोम है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- उत्तर:=0
- संख्या> 0 होने पर,
- . करें
- उत्तर:=उत्तर * 2
- यदि संख्या विषम है, तो
- उत्तर:=उत्तर XOR 1
- संख्या:=संख्या/2
- वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def reverse_binary(num) : ans = 0 while (num > 0) : ans = ans << 1 if num & 1 == 1 : ans = ans ^ 1 num = num >> 1 return ans def solve(n) : rev = reverse_binary(n) return n == rev n = 9 print(solve(n))
इनपुट
9
आउटपुट
True