年NOC大赛Python初中组决赛真题-二进制回文,,


2023年NOC大赛Python初中组决赛真题-二进制回文

编程实现:输入一个正整数,判断它的二进制形式是否是回文数,如果是输出True,不是输出False例:数字3的二进制形式是11,是一个回文数,输出True。

输入描述

输入一个正整数n。

输出描述

判断数字n的二进制形式是否是回文数,如果是输出True,不是输出False。

输入样例

3

输出样例

True


要点:

1、十进制转二进制

Python内置函数bin()可以将十进制整数转换为二进制数。它返回一个以"0b"开头的二进制字符串,所以结果要去掉‘ob’。

2、判断回文(二选一即可)

方法1:从二进制字符串的两端向中间取数进行比较,如果发现不相等则不是回文。

方法2:reversed()函数对字符串反转迭代,用"".join()连接为字符串,与原始字符串进行对比,检查字符串是否是回文。


参考答案:

#输入一个整数n = int(input())#转为二进制字符串ob开头,截取二进制bin_n = bin(n)[2:]print(bin_n)#方法1:判断是不是回文i = 0j = len(bin_n) - 1res = 'Ture'while i < j:    if bin_n[i] != bin_n[j]:       res = 'False'    i += 1    j -= 1print(res)#方法2:判断回文if bin_n=="".join(reversed(bin_n)):    print("Ture")else:    print("False")

本站内容未经许可,禁止任何网站及个人进行转载。

   口袋儿题库-青少儿编程自测题库

评论关闭