本文主要是介绍【python】AB类数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
"""
题目描述:
若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。
程序要求:求出1~1000之中(包括1与1000),全部A、B两类数的个数。例如:(13)10=(1101)2 其中1的个数为3,0的个数为1,则称此数为A类数;
输出格式
在同一行输出,空格分隔A、B两类数的个数。
"""
代码:
a = 0
b = 0
for i in range(1, 1001):# 二进制转换,去掉前缀 很细节!!!binary_str = bin(i)[2:]if binary_str.count('1') > binary_str.count('0'):a += 1else:b += 1
print(a, b)
这篇关于【python】AB类数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!