在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