1225 - Palindromic Numbers (II)
Time Limit: 0.5 second(s) | Memory Limit: 32 MB |
A palindromic number or numeral palindrome is a 'symmetrical' number like 16461, that remains the same when its digits are reversed. In this problem you will be given an integer, you have to say whether the number is a palindromic number or not.
Input
Input starts with an integer T (≤ 20000), denoting the number of test cases.
Each case starts with a line containing an integer n (0 ≤ n < 109).
Output
For each case, print the case number and 'Yes' if n is palindromic, otherwise print 'No'.
Sample Input | Output for Sample Input |
5 1 21 16161 523125 0 | Case 1: Yes Case 2: No Case 3: Yes Case 4: No Case 5: Yes |
题意:判断所给数是否是对称的;
思路:将数的每一位数字都保存成字符,一位对比两个比较两个字符串是否相等;
失误:这种题数据那么小,最多只有9位数,就不要再考虑什么技巧判断字符串长度的奇偶性什么的,考虑越多失误越多,在比赛时浪费时间越多,应该充分利用题目的条件,有时候简单粗暴一点会很好。
AC代码:
#include<cstdio>
int main()
{
int T,i,j,Kase=0,N;
char str[100];
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
i=0;
while(N)
{
str[++i]=N%10;
N/=10;
}
for(j=1;j<=i;++j)
{
if(str[j]!=str[i-j+1])
break;
}
printf("Case %d: ",++Kase);
if(j==i+1) printf("Yes\n");
else printf("No\n");
}
return 0;
}