檢查 Python 中數字的二進位制表示是否是迴文數
假設我們有一個數字 n。我們必須檢查 n 的二進位制表示是否是迴文數。
因此,如果輸入如下 n = 9,則輸出將為 True,因為 9 的二進位制表示是 1001,它是迴文數。
要解決這個問題,我們將遵循以下步驟 −
- ans := 0
- while num > 0, do
- ans := ans * 2
- 如果 num 為奇數,則
- ans := ans XOR 1
- num := num / 2
- 返回 ans
讓我們看以下實現以獲得更好的理解 −
示例
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
廣告