负数被设定为不是回文数
1 #include2 3 using namespace std; 4 5 int F(int t) 6 { 7 int f = 1; 8 for (int i = 0; i < t; i++) 9 f = f * 10;10 return f;11 }12 13 bool isPalindrome(int x) 14 {15 int m = x;16 int L = 0;17 while (m > 0)18 {19 m = m / 10;20 L++;21 }22 int n = L / 2;23 while (n>0)24 {25 int m = F(L - 1);26 int c = x / m;27 int t = x % 10;28 if (t != c)29 {30 return false;31 }32 x = x % m;33 x = x / 10;34 L = L - 2;35 n--;36 }37 return true;38 }39 40 int main()41 {42 cout << isPalindrome(2321);43 }