| 记录编号 | 111143 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 1390.[NOIP 1995]A类B类数 | 最终得分 | 100 | 
    
        | 用户昵称 |  Ra-xp | 是否通过 | 通过 | 
    
        | 代码语言 | C++ | 运行时间 | 1.050 s | 
    
        | 提交时间 | 2014-07-13 10:34:21 | 内存使用 | 0.31 MiB | 
    
    
    
    		显示代码纯文本
		
		#include<iostream>
#include<fstream>
#include<vector>
#include<string>
#define MAXN 1000
using namespace std;
/*
	注意:全加括号,以防算错!
	按位与        &     3     全一则一,否则为零
	按位或        |     3	  有一则一,否则为零
	按位取反      ~     1     不同则一,相同则零
	按位异或      ^     3     
	左移位        <<    2	  等价于x*2的k次幂
	右移位        >>    2     等价于x/2的k次幂(取整)
	
	freopen("","r",stdin);
	freopen("","w",stdout);
	
	位运算需用unsighed short(int)无符号的短整型(整型)。*/
int main()
{
	freopen("abnum.in","r",stdin);
	freopen("abnum.out","w",stdout);
	int i, j, n, k, l, m, a=0, b=0;
	unsigned int work;
	cin>>n;
	for(i=1,k=0,l=0,m=0;i<=n;i++)
	{
		work=i;
		for(j=0;work!=0;j++)
		{
			work=work&(work-1);
		}
		k=j;
		work=i;
		for(j=0;work!=0;j++)
		{
			work=work>>1;
		}
		l=j;
		if(l-k<k)
		{
			a++;
		}
		else b++;
	}
	
	cout<<a<<' '<<b<<endl;
	
	
	return 0;
}