Description
Let quasi-palindromic number be such number that adding some leading zeros (possible none) to it produces a palindromic string.
String t is called a palindrome, if it reads the same from left to right and from right to left.
For example, numbers 131 and 2010200 are quasi-palindromic, they can be transformed to strings "131" and "002010200", respectively, which are palindromes.
You are given some integer number x. Check if it's a quasi-palindromic number.
Input
The first line contains one integer number x (1 ≤ x ≤ 109). This number is given without any leading zeroes.
Output
Print "YES" if number x is quasi-palindromic. Otherwise, print "NO" (without quotes).
Sample Input
131
YES
320
NO
2010200
YES
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=10+1;
char num[maxn];
int main()
{
while(cin>>num)
{
int ans=0;
int len=strlen(num)-1;
while(num[len]=='0')
len--;
len++;
for(int i=0;i<len/2;i++)
{
if(num[i]==num[len-1-i]) ans++;
}
if(ans==len/2) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}

本文介绍了一种检查整数是否为准回文数的方法,即通过添加前导零使其变为回文串。通过示例解释了何为准回文数,并提供了一个C++实现示例。
2万+

被折叠的 条评论
为什么被折叠?



