1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    int t;
    scanf("%d", &t);
    for(int i = 0; i < t; i++){
        long long dayResult[10] = {0,0,0,0,0,0,0,0,0,0};
        long long n;
        scanf("%lld", &n);
        for(int j = 1; j <= n; j++){
            string s = to_string(j);
            while(s.length() != 1){
                long long value = 1;
                for(int k = 0; k < s.length(); k++){
                    value *= s[k] - '0';
                    if(value == 0){
                        break;
                    }
                }
                s = to_string(value);
            }
            dayResult[stoi(s)]++;
        }
        for(int j = 0; j < 10; j++){
            printf("%lld ", dayResult[j]);
        }
        printf("\n");
    }
    return 0;
}