UVa1225

题目链接

https://vjudge.net/problem/UVA-1225

代码

#include <iostream>
#include <string.h>

int res[10]; // 用于保存最后的结果

int main()
{
    int T; // 一共需要测试 T 组数据,T 的范围是 1 到 20,全闭
    int N;
    scanf("%d", &T);
    while (T--)
    {
        memset(res, 0, sizeof(res));
        scanf("%d", &N);
        for (int i = 1; i <= N; i++)
        {
            int tmp = i;
            while (tmp / 10 != 0)
            {
                res[tmp % 10]++;
                tmp /= 10;
            }
            res[tmp]++;
        }
        for (int i = 0; i < 10; i++)
        {
            printf("%d", res[i]);
            if (i < 9)
                printf(" ");
        }
        printf("\n");
    }

    return 0;
}

20201230184900

注意,这题可以用查表法进行优化。应对大量数据时,查表法的效率要高很多。

posted @ 2020-12-30 18:51  模糊计算士  阅读(73)  评论(0编辑  收藏  举报