题目描述
输入n个正整数,判断每个数是否为回文数。
输入输出格式
输入格式
输入文件palindrome.in 输入第一行为正整数n,n<=100。第二行为n个正整数,由空格隔开,均不超过10^18。
输出格式
输出文件palindrome.out 输出一行,共n个结果,每个结果为Yes或No,由空格隔开。
输入输出样例
输入样例#1
5
2020 12321 567765 1991 2000000
输出样例#1
No Yes Yes Yes No
首先进行题目分析,上过九年义务教育的人都知道什么是回文数
演示一下
abcba就是一个回文数字,再比如12321也是一个标准的回文数
再来说下思路
其实这道题跟数字一点关系都没有,你只能用字符串嘿
在判断中,用bool类型即可
bool isHW(string s){
其实,对于数据这么水的题,你只用判断两边一不一样长就可以了,但是要把中间的去掉哦亲
再摆出AC代码
#include<bits/stdc++.h>//不用万能死全家
using namespace std;
bool isHW(string s){
freopen("palindrome.in ","r",stdin);
freopen("palindrome.out","w",stdout);
int l=0;
int r=s.size()-1;
while(l<r){
if(s[l]!=s[r])
return 0;
l++;
r--;
}
return 1;
}
int main() {
int n;
cin>>n;
for(int i=0;i<n;++i){
string s;
cin>>s;
if(isHW(s))
cout<<"Yes"<<" ";
else
cout<<"No"<<" ";
}
return 0;
}