开始看大家都秒A , 我就写了一个很zz 的代码,交上了,秒W。。。。。
后再仔细看看题,原来是这样。输入一个int 型,占四个字节,而每个字符一个字节。
所以一个int 等于输入四个字符,每个字符占二进制八位,然后请遍历所有“字符”问有多少个‘a’;
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,x;
int a[100],b[]={0,1,0,0,0,0,1,1,0};
while(~scanf("%lld",&n)){
int sum=0;
while(n--)
{memset(a,0,sizeof(a));
int i;
scanf("%lld",&x);
for(i=1;x>0;i++)
{
a[i]=x%2;
x/=2;//printf("%d",a[i]);
}i-=1;//printf("\n");
for(int j=1;j<=i;j+=8)
{
int t=1,f=1;
for(int k=j;k<=j+7;k++)
{//printf("%d %d --",a[k],b[t]);
if(a[k]!=b[t++]) {
f=0;break;
}
}
if(f) sum++;
}
}
printf("%d\n",sum);
}
return 0;
}