描述
霜霜学姐是一个数学天才,她轻而易举的就解决了小明学长留下了的数学问题。霜霜学姐对于小明学长这种故意刁难人的做法嗤之以鼻。所以霜霜学姐给你们留了一道简单的回文题。
给定一个十进制的整数 56,将 56 加上 65 (即把56从右往左读),得到的121是一个回文数。
现在,给你N个数,请你判断这些数经过上述操作之后是否能得到一个回文数
输入描述
一个整数 T ,接下来 T 行,每行一个正整数 N
1≤T≤103
1≤N≤106
输出描述
对于每行的正整数N,请你判断这个数是否能经过上述操作得到一个回文数,是输出YES
,否输出NO
用例输入 1
4
56
87
100
1353
用例输出 1
YES
NO
YES
YES
解题思路:将数字反转相加后转为字符串,再验证是否是回文。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
string n;
int main() {
cin >> t;
while(t-- ) {
cin >> n;
int a = stoi(n);
reverse(n.begin(),n.end());
int b = stoi(n);//反转后的数字
n = to_string(a + b);//将整数转为字符串
int len = n.size();
for(int i = 0;i < len;i++,len--) {
if(n[i] != n[len]) {
cout << "NO" << endl;
goto aga;
}
else cout << "YES" << endl;
aga:;
}
}
return 0;
}