假设我们有一个数字n。我们必须检查n的二进制表示是否是回文。
因此,如果输入像n = 9,则输出将为True,因为9的二进制表示为1001,即回文。
为了解决这个问题,我们将遵循以下步骤-
回答:= 0
当num> 0时,执行
ans:= ans XOR 1
ans:= ans * 2
如果num是奇数,则
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