如果一个数的位数是偶数,且其前半部分和后半部分的数关于最中间的位置成轴对称,则我们称这个数为镜面数。为了便于理解,我们假定 1 1 1个数为 6 6 6位数,则若其为镜面数,则其可以写成 a 1 a 2 a 3 a 3 a 2 a 1 a1a2a3a3a2a1 a1a2a3a3a2a1 的形式。因此像 11 11 11、 22 22 22、 345543 345543 345543、 12344321 12344321 12344321、 11222211 11222211 11222211等均为镜面数,而 12321 12321 12321、 1234321 1234321 1234321、 141 141 141等均不是镜面数,因为他们的位数是奇数。 12345 12345 12345、 123312 123312 123312、 132321 132321 132321等也不是镜面数,因为他们不关于最中间的位置成轴对称。现给两个数 a , b a,b a,b ( a < = b ) (a<=b) (a<=b),请你告诉我 a b a~b a b这个区间内 (包含 a 和 b ) (包含a和b) (包含a和b),共有多少个数为镜面数。
输入格式
一行,两个正整数
a
a
a和
b
b
b。
输出格式
一个正整数,为镜面数的数量。
输入/输出例子1
输入:
1 100
输出:
9
数据范围
60%的数据,
1
<
a
<
=
b
<
=
1
0
7
1<a<=b<=10^7
1<a<=b<=107
100%的数据,
1
<
a
<
=
b
<
=
1
0
9
1<a<=b<=10^9
1<a<=b<=109
c++:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,m,j=0,g=0,x,t;
cin>>n>>m;
for(int i=1;i<=100000;i++){
t=i;
x=0;
j=1;
while(t>0){
x=x*10+t%10;
t/=10;
j=j*10;
}
if(i*j+x>=n&&i*j+x<=m)g++;
}
cout<<g;
return 0;
}