题目名称 1390. [NOIP 1995]A类B类数
输入输出 abnum.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarBenjamin 于2013-07-23加入
开放分组 全部用户
提交状态
分类标签
位运算 模拟 NOIP/CSP
分享题解
通过:258, 提交:858, 通过率:30.07%
GravatarTpc 100 0.000 s 0.00 MiB C++
Gravatar[b]Heil[/b] 100 0.004 s 0.17 MiB Pascal
GravatarLovelove_boii 100 0.006 s 0.36 MiB C++
Gravatarandy 100 0.077 s 76.61 MiB C++
Gravataryrtiop 100 0.091 s 77.28 MiB C++
Gravatarlll 100 0.105 s 152.88 MiB C++
GravatarTheresis 100 0.116 s 152.88 MiB C++
Gravatarliuyiche 100 0.134 s 24.65 MiB C++
Gravatarlihaoze 100 0.152 s 5.74 MiB C++
GravatarBennettz 100 0.177 s 152.88 MiB C++
本题关联比赛
20140713上午练习
2020级再出发之位运算
关于 A类B类数 的近10条评论(全部评论)
2500分留念
Gravatar梦那边的美好ET
2018-08-24 12:24 32楼
的确不好
Gravatarjoel
2017-07-06 19:38 31楼
位运算大法好
GravatarShirry
2017-03-24 13:49 30楼
最终还是走上了打表的不归路
Gravataropen the window
2016-09-16 14:08 29楼
GG
Gravatar背对疾风吧
2016-09-08 20:47 28楼
Gravatar@@@
2016-07-08 15:56 27楼
位运算优化一下就水过去了吖....
Gravatarsxysxy
2016-06-27 23:57 26楼
回复 @liu_runda :
达哥你厉害
GravatarSky_miner
2016-05-05 11:08 25楼
开个大数组递推0和1的个数,不打表稳过。。。
Gravatarliu_runda
2016-02-16 14:46 24楼
最后一个点真是好卡人呀!
既然这个点如此无耻,那就用无耻的方法——if语句来对付它吧。
GravatarGaoErFu
2015-11-15 14:09 23楼

1390. [NOIP 1995]A类B类数

★   输入文件:abnum.in   输出文件:abnum.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

若将一个正整数转换为二进制数,在此二进制数中,我们将数字$1$的个数多于数字$0$的个数的这类二进制数称为$A$类数,否则就称其为$B$类数。

  例如:

       $(1)_{10}=(1)_2$

      其中$1$的个数为$1$,$0$的个数为$0$,则称此数为$A$类数;

       $(13)_{10}=(1101)_2$

      其中$1$的个数为$3$,$0$的个数为$1$,则称此数为$A$类数;

       $(10)_{10}=(1010)_2$

      其中$1$的个数为$2$,$0$的个数也为$2$,称此数为$B$类数;

       $(24)_{10}=(11000)_2$

      其中$1$的个数为$2$,$0$的个数为$3$,则称此数为$B$类数;


 编程输出$1$~$n$之中(包括$1$和$n$),全部$A$、$B$两类数的个数。

【输入格式】

输入文件一行,为一个正整数$n$($1≤n≤2000,0000$);

【输出格式】

输出文件一行,为空格隔开的两个整数$a$和$b$,其中$a$表示$A$类数的个数,$b$表示$B$类数的个数;

【样例输入】

3

【样例输出】

2 1

【输入输出样例说明】

$1,2,3$对应的二进制数分别为$1,10,11$,故$A$类数有$2$个($1$和$3$),$B$类数有一个($2$);

【来源】

$NOIP1995$普及组