- 二进制回文串GESP202603 三级T1
- @ 2026-04-06 19:37:36
#include<bits/stdc++.h>
using namespace std;
long long n,t,a[3001],cnt,sum,x;
int main(){
cin>>x;
for(int i=1;i<=x;i++){
n=i;
t=i;
cnt=0;
while(n){
a[++cnt]=n%2;
n/=2;
}
int ok=1;
for(int i=1;i<=cnt/2;i++){
if(a[i]!=a[i+cnt-1]){
ok=0;
break;
}
}
if(ok) sum++;
}
cout<<sum;
}
1 条评论
-
202603zj08王宇浩 (王宇浩) LV 8 @ 2026-04-11 12:51:12
#include<bits/stdc++.h> using namespace std; int n,sum,a[999999],xb; int main( ) { cin>>n; for (int i=1;i<=n;i++) { xb=0; int it=i; while (it!=0) { a[++xb]=it%2; it/=2; } int ok=1; for (int j=1;j<=xb/2;j++) { if (a[j]!=a[xb+1-j]) { ok=0; break; } } if (ok) sum++; } cout<<sum; return 0; }
- 1
信息
- ID
- 3051
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 84
- 已通过
- 25
- 通过率
- 30%
- 上传者