在Python中检查数字的二进制表示形式是否是回文

假设我们有一个数字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

    猜你喜欢