1412:二进制分类 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12886 通过数: 8550 【题目描述】 若将一个正整数化为二进制数,在此二进制数中,我们将数字11的个数多于数字00的个数的这类二进制数称为AA类数,否则就称其为BB类数。 例如: (13)10=(1101)2(13)
描述 若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。 例如: (13)10 = (1101)2,其中1的个数为3,0的个数为1,则称此数为A类数; (10)10 = (1010)2,其中1的个数为2,0的个数也为2,称此数为B类数; (24)10 = (11000)2,其
我首先的思路是定义一个函数,来将输入的数转化为二进制的数,再判断二进制数中1多还是0多,从而判断是A类数还是B类数。 不过在二进制转化有些困难,就查了查资料: 例如:29。用短除法,不断除以2,每次将余数写在后面,直到最后商为0时,停止,从下至上读
一个二进制数,如果1的个数多于0的个数 ,则称A类数,否则称非A类数。例如:1001,1000为非A类数,1101和1111000为A类数。 16之内对应的二进制数是A类数的为:1,3,5,6,7,11,13,14,15。所以16之内有9个A类数。 对给定的整数,求在该整数范围内有多少个A类数。 输入格式: 输入一些正整数N(N<=400000),一行一个
题目描述 若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。 例如: (13)10=(1101)2 其中1的个数为3,0的个数为1,则称此数为A类数; (10)10=(1010)2 其中1的个数为2,0的个数也为2,称此数为B类数; (24)10=(11000)