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
35
36
37
38
39
40
41
42
43
44
#include <bits/stdc++.h>
using namespace std;
int kroki(int n)
{
    int ostatnia_cyfra = 0;
    while (n >= 10) {
        long long crt_liczba = 1;
        long long temp = n;
        while (temp > 0) {
            crt_liczba *= temp % 10;
            temp /= 10;
        }
        n = crt_liczba;
    }
    return n;
}
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
	int n;
	cin >> n;
	long long max_liczba;
	vector<int> wystapienia(10, 0);
	while (n--) {
	    cin >> max_liczba;
	    fill(wystapienia.begin(), wystapienia.end(), 0);
	    for (int i = 1; i <= max_liczba; i++)
	    {
	        //cout << "in";
	        int jaka_cyfra = kroki(i);
	        //cout << jaka_cyfra << " ";
	       // if (jaka_cyfra == 0) {
	       //     wystapienia[0]++;
	       // }
	        wystapienia[jaka_cyfra]++;
	    }
	    for (int i = 0; i <= 9; i++)
	    {
	        cout << wystapienia[i] << " ";
	    }
	    cout << "\n";
	}
}