題目:統計M到N之間有幾個數字,數位之間是不同的。
分析:簡單題。存儲前N個數字中成立數字的個數F(N),結果為F(N)- F(M-1)。
說明:╮(╯▽╰)╭。
#include <cstdio>
int f[5005],digit[10];
int notsamedigit(int n)
{
for (int i = 0; i < 10; ++ i)
digit[i] = 0;
while (n) {
digit[n%10] ++;
n /= 10;
}
for (int i = 0; i < 10; ++ i)
if (digit[i] > 1)
return 0;
return 1;
}
int main()
{
f[0] = 0;
for (int i = 1; i < 5001; ++ i)
f[i] = f[i-1]+notsamedigit(i);
int m, n;
while (~scanf("%d%d",&m,&n))
printf("%d\n",f[n]-f[m-1]);
return 0;
}