反转字符串题解补充<曹汇*>
2026-06-05 18:58:43
发布于:广东
13阅读
0回复
0点赞
先上代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,c=0;
string s;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
m=i;
s="";
while(m!=0){
s+=char(m%2+'0');
m/=2;
}
string x=s;
reverse(s.begin(),s.end());
if(x==s){
c++;
}
}
cout<<c;
return 0;
}
有注释代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,c=0;
string s;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
m=i;
s="";
while(m!=0){ //转换二进制
s+=char(m%2+'0');
m/=2;
}
string x=s; //设置字符串x
reverse(s.begin(),s.end()); //重点:反转函数
if(x==s){
c++;
}
}
cout<<c; //输出
return 0;
}
这里空空如也





有帮助,赞一个