检查 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
广告