显示代码纯文本
#include<fstream>
using namespace std;
ifstream fi("abnum.in");
ofstream fo("abnum.out");
int main()
{
int n,ansa=0,ansb=0,s1=0,s2=0,i=1,j=0,k=1,l,t,f[31]={0};
fi>>n;t=n;
while(t!=1)
{
t=t>>1;
j++;
k=k<<1;
}
f[0]=1;
for(i=1;i<=j;i++)
{
for(l=i;l>=1;l--)
{
f[l]=f[l]+f[l-1];
if(l>i-l)
{
ansa+=f[l-1];
}
else
{
ansb+=f[l-1];
}
}
}
for(i=k;i<=n;i++)
{
j=i;
while(j!=0)
{
if(j%2==0)
{
s1++;
}
else
{
s2++;
}
j/=2;
}
if(s2>s1)
{
ansa++;
}
else
{
ansb++;
}
s1=0;
s2=0;
}
fo<<ansa<<" "<<ansb<<endl;
return 0;
}