检查二进制表示是否是Python中的回文
给定一个整数“n”,编写一个Python函数,如果 x 的二进制表示是回文,则返回 true,否则返回 false。
例子:
Input : n = 9
Output : True
Binary representation of n=9 is 1001 which
is palindrome as well.
Input : n = 10
Output : False
Binary representation of n=10 is 1010 which
is not palindrome.
我们有解决此问题的现有解决方案,请参阅检查数字的二进制表示是否为回文链接。我们可以很快地在Python中解决这个问题。方法很简单,
- 使用 bin(num)函数将给定数字转换为二进制表示。
- 现在反转数字的二进制表示字符串并将其与原始二进制表示的字符串进行比较,如果两者相等,则表示数字的二进制表示是pallindrome,否则不是。
注意:我们可以使用其他方法来检查字符串是否为回文。
# Function to check if binary representation of
# a number is pallindrome or not
def binaryPallindrome(num):
# convert number into binary
binary = bin(num)
# skip first two characters of string
# because bin function appends '0b' as
# prefix in binary representation of
# a number
binary = binary[2:]
# now reverse binary string and compare
# it with original
return binary == binary[-1::-1]
# Driver program
if __name__ == "__main__":
num = 9
print binaryPallindrome(num)
输出:
True