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.
The first line contains one integer number x (1 ≤ x ≤ 109). This number is given without any leading zeroes.
Print "YES" if number x is quasi-palindromic. Otherwise, print "NO" (without quotes).
131
YES
320
NO
2010200
YES
#include<stdio.h>
int main()
{
int n,k,sum;
while(scanf("%d",&n)!=EOF)
{
sum=0;
while(!(n%10))
{
n=n/10;
}
k=n;
while(k)
{
sum=sum*10+k%10;
k=k/10;
}
if(sum==n)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
本文介绍了一种算法,用于判断一个整数是否为准回文数,即通过添加一些前置零使其变成回文字符串。文章提供了一个C语言实现的例子,并通过几个示例输入输出展示了该算法的工作原理。

205

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



