官方题解
#include <iostream>
#include <string>
using namespace std;
int main()
{
int x;
while (cin >> x)
{
if(x < 0 || (x > 0 && x%10 == 0)) //先排除负数、大于0且个位为0的数
cout << "Fasle" << endl;
else if(x == 0)
cout << "Right" << endl;
else{//反转后半部分的思路
int new_num = 0;
int temp = 0;
int orgin_num = x;
while (x > new_num ) //1.判断回文的条件:原始数字小于或等于反转后的数字!!!
{
new_num *= 10;
temp = x%10;
new_num += temp;
x /= 10;
}
if(x == new_num || x == new_num/10)
cout << "Right" << endl;
else
cout << "False" << endl;
}
}
cout << endl;
system("pause");
return 0;
}
收获:
1.首先排除一些情况
2.结合题目特点多思考