2 1 10 1 1000
10 738
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int temp[10];
int ans[100001];
int i,j,n,a,b;
int fun1(int x)//用于判断数字是否满足条件
{
int mod;
memset(temp,0,sizeof(temp));
while(x != 0)
{
mod = x % 10;
if(temp[mod])
{
return 0;
}
else
{
temp[mod]++;
}
x /= 10;
}
return 1;
}
int main()
{
//结果打表
for(i = 1;i < 100001;i++)
{
if(fun1(i))
{
ans[i] = ans[i-1] + 1;
}
else
{
ans[i] = ans[i-1];
}
}
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%d%d",&a,&b);
printf("%d\n",ans[b] - ans[a] + fun1(a));//区间相减即可
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/litter_limbo/article/details/47168625