比赛场次 659
比赛名称 位运算及及其应用题单
比赛状态 已结束比赛成绩
开始时间 2025-01-25 11:00:00
结束时间 2025-01-25 16:10:00
开放分组 全部用户
注释介绍
题目名称 A类B类数
输入输出 abnum.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
Gravatarzqy AAAAAAAAAA 0.192 s 17.27 MiB 100
GravatarTeaWine AAAAAAAAAA 0.948 s 3.33 MiB 100
GravatarAsher AAAAAAAAAT 2.032 s 3.31 MiB 90
Gravatardy AAAAAAAAAT 2.291 s 3.32 MiB 90
GravatarIMZ AAAAAAAAAT 2.542 s 3.51 MiB 90

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$普及组