#include<stdio.h>
int s[100000],n,top=0;
char in[15]={0};
void dfs(int v,int k){
int i,out;
if(v==n){
sscanf(in,"%d",&out);
s[top++]=out;
//printf("%d.",out);
return;
}
if(k==10) return;
for(i=k;i<10;i++){
in[v]=i+'0';
dfs(v+1,i);
}
}
int main(){
int i,l,r,m,a,b,add;
for(i=1;i<10;i++){
n=i;
dfs(0,1);
}
s[top++]=1234567899;
scanf("%d%d",&a,&b);
b++;
l=0,r=top;
while(l+1!=r){
m=(l+r)/2;
if(b>s[m]) l=m;
else r=m;
}
add=l;
l=0,r=top;
while(l+1!=r){
m=(l+r)/2;
if(a>s[m]) l=m;
else r=m;
}
add-=l;
printf("%d\n",add);
}
沒有留言:
張貼留言