look,look吧!
2026-05-04 20:34:48
发布于:浙江
4阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int sum = 0;
//判断是否回文字符串
bool q(string s){
for(int i = s.size()- 1;i >= 0 ;i--){
//挨个判断第一个和末尾第一个;第二个和末尾第二个,以此类推是否相等
if(s[i] != s[s.size() - i - 1]){
return 0;//一旦发现不相等,返回不是(0)
}
}
return 1;
}
int main(){
int n;
cin>>n;
for(int i = 1;i <= n;i++){//挨个循环
string s;
int k = i;
while(k){
s+=char(k % 2 + 48);//把它转换为二进制
k/=2;
}
if(q(s)) sum++;//统计个数
}
cout<<sum;//进行输出
return 0;
}
记得点赞!
这里空空如也







有帮助,赞一个