第二届战神杯线上编程挑战赛月赛第一题:回文数
题目详情:
Njzy学习了回文串后联想到了回文数,他希望统计出一个区间内的所有回文数。现在给定一个闭区间[a,b],求这个区间里有多少个回文数。
比如[20,30],只有一个回文数那就是22.
输入描述:
输入包含多组测试数据,每组测试数据包含两个整数a,b,
(0<a<=b<10^6)。
输出描述:
对于每组测试数据输出相应的答案。
答题说明:
输入样例:
1
10
20
30
300
400
输出样例:
9
1
10
我的程序如下:
#include <stdio.h>
int fun(long);
void main()
{
long a,b,i,count;
while(scanf("%d",&a) != EOF && scanf("%d",&b) != EOF)
{
count = 0;
for(i = a;i <= b;i++)
{
if(fun(i) == 1)
count++;
else
continue;
}
printf("%d\n",count);
}
}
int fun(long x)
{
int d;
long x0=x, t=0;
while(x0){
d=x0%10;
t=10*t+d;
x0/=10;
}
return (t == x);
}
仅供参考学习,不保证完全正确,如有问题,恳请指正!!