C1149 - 二进制分类

题目描述

若将一个正整数化为二进制数,在此二进制数中,我们将数字 $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$ 的个数为 $2$,$0$ 的个数为 $3$,则称此数为 $B$ 类数;

程序要求:求出 1~n 之中($1 \le n \le 1000$),全部 $A,B$ 两类数的个数。

输入格式

输入 $n$。

输出格式

一行,包含两个整数,分别是 $A$ 类数和 $B$ 类数的个数,中间用单个空格隔开。

样例 #1

样例输入 #1

7

样例输出 #1

5 2

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1149.in,输出文件名为:C1149.out