#include <bits/stdc++.h>
using namespace std;
int n,x,a[32005],ok=1,cnt,t;
int main(){
cin>>n;
for(int j=1;j<=n;j++)
{
t=j;
while(t)
{
a[++x]=t%2;
t/=2;
}
for(int i=1;i<=x/2;i++)
if(a[i]!=a[x+1-i])
{
ok=0;
break;
}
cnt+=ok;
}
cout<<cnt;
return 0;
}

2 条评论

  • #include<bits/stdc++.h>
    using namespace std;
    int n,a[10000001],k,cnt;
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            k=0;
            int it=i;
            while(it>0)
            {
                a[++k]=it%2;
                it/=2;
            }   
            int ok=1;
            for(int j=1;j<=k/2;j++)
            {
                if(a[j]!=a[k+1-j])
                {
                    ok=0;
                    break;
                }
            }
            if(ok)cnt++;
        }
        cout<<cnt;
        return 0;
    }
    
    
  • 这是什么?

  • 1

信息

ID
3051
难度
8
分类
(无)
标签
递交数
189
已通过
27
通过率
14%
上传者