二进制分类
测试数据来自 system/1600
时间限制:1秒 内存限制:256M
【问题描述】
若将一个正整数化为二进制数,在此二进制数中,我们将数字 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 类数;
程序要求:求出 \(L~R\) 之中(包括 \(L\) 和 \(R\)),全部 \(A、B\) 两类数的个数。
【输入格式】
两个整数 \(L\) 和 \(R\)。
【输出格式】
一行,包含两个整数,分别是 A 类数和 B 类数的个数,中间用单个空格隔开。
【输入输出样例】
Input
1 11
Output
6 5
【数据说明】
对于 \(100\%\) 的数据 \(1≤<L≤R≤10^9\),\(R_L≤10^6\)。
【来源】
Mr.he