题目详情:
Njzy学习了回文串后联想到了回文数,他希望统计出一个区间内的所有回文数。现在给定一个闭区间[a,b],求这个区间里有多少个回文数。
比如[20,30],只有一个回文数那就是22.
输入描述:
输入包含多组测试数据,每组测试数据包含两个整数a,b,
(0<a<=b<10^6)。
输出描述:
对于每组测试数据输出相应的答案。
答题说明:
输入样例:
1
10
20
30
300
400
输出样例:
9
1
10
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
//freopen("a.txt","r",stdin);
int a,b;
char s[10];
while(cin>>a>>b)
{
int sum=0,len,j;
for(int i=a;i<=b;i++)
{
if(i>0&&i<10) {sum++; continue;}
sprintf(s,"%d",i);
len=strlen(s); //cout<<len<<endl;
for(j=0;j<len/2;j++)
if(s[j]!=s[len-j-1]) break;
if(j==len/2) sum++;
}
cout<<sum<<endl;
}
return 0;
}