这一题时Uva上的1225,这一题做法有很多,但是做起来有超时,后来就去看别人的做法。
在博客中看到有的人直接建表的方法,感觉很不错。 居然只用了短短几行代码搞定,真的很强!
作者:csdn博客 synapse7
#include<cstdio>
int c[10000][10];
int main()
{
int i, k, t, n;
for (i = 1; i < 10000; ++i)
{
for (k = i; k; k /= 10) ++c[i][k % 10];
for (; k < 10; ++k) c[i][k] += c[i - 1][k];
}
scanf("%d", &t);
while (t--)
{
scanf("%d", &n);
for (i = 0; i < 9; ++i)
printf("%d ", c[n][i]);
printf("%d\n", c[n][9]);
}
return 0;
}