UVa 1225 - Digit Counting

来源:互联网 发布:淘宝网迪士尼保温杯 编辑:程序博客网 时间:2024/05/21 15:57
把前n(n≤10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次

(输出10个整数,分别是0,1,…,9出现的次数)。

#include <stdio.h>#include <string.h>int c[10000][10];    int main()  {      int n,t;    for (int i = 1; i < 10000; ++i)      {          for (int k = i; k > 0; k /= 10)   c[i][k%10]++;          for (int k = 0; k < 10; k++)  c[i][k] += c[i - 1][k];      }      scanf("%d", &t);      while (t--)      {          scanf("%d", &n);          for (int i = 0; i < 9; i++)              printf("%d ", c[n][i]);          printf("%d\n", c[n][9]);      }      return 0;  }  

0 0