1225 - Digit Counting (UVA)

题目链接如下:

Online Judge

看到一个很有趣的解法: 【UVa - 1225】_X2alchemist的博客-CSDN博客

我的代码如下:

#include 
const int maxN = 10000;

int T, N, temp;
int ans[maxN][10];

int main(){
    for(int i = 1; i < 10000; ++i){
        for(int j = 0; j < 10; ++j){
            ans[i][j] = ans[i - 1][j];
        }
        temp = i;
        while(temp){
            ans[i][temp % 10]++;
            temp /= 10;
        }
    }
    scanf("%d", &T);
    while(T--){
        scanf("%d", &N);
        for(int i = 0; i < 10; ++i){
            printf("%d%s", ans[N][i], i == 9 ? "\n" : " ");
        }
    }
    return 0;
}

你可能感兴趣的:(UVA,算法)