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