【编程题】判断一个整数对应的二进制数是否是回文

Python示例代码:

# -*- coding: UTF-8 -*-
"""
# 判断一个数对应的二进制数是否是回文
"""


def judge(num):
    """
    :param num:
    :return:
    """
    # (1) 获取对应的二进制
    # 方法一
    binary_str = str(bin(num)[2:])
    # 方法二
    # binary_str = ""
    # while num != 0:
    #     # 整数部分
    #     n = num // 2
    #     # 余数部分
    #     m = num % 2
    #     binary_str = binary_str + str(m)
    #     num = n

    print("binary_str: %s." % binary_str)

    # (2) 判断是不是回文
    # 方法1: 反转
    binary_str_reverse = binary_str[::-1]
    print("binary_str_reverse: %s." % binary_str_reverse)

    # 方法2: 双指针对比
    binary_str_len = len(binary_str)
    for i in range(0, binary_str_len // 2):
        print("%s, %s." % (i, binary_str_len - 1 - i))
        if binary_str[i] != binary_str[binary_str_len - 1 - i]:
            return False

    return True


if __name__ == '__main__':
    num = input()
    result = judge(int(num))
    print(result)

猜你喜欢

转载自blog.csdn.net/sinat_33718563/article/details/119649223