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
45
46
47
48
49
50
51
52
53
#include <cstdio>
#include <cstring>

int main()
{
	int t;
	scanf("%d", &t);


	for (int tt = 0; tt < t; tt++)
	{
		long long k;
		scanf("%lld", &k);

		int res[10];

		for (int i = 0; i < 10; i++)
		{
			res[i] = 0;
		}
		for (int i = 1; i <= k; i++)
		{
			int w = 1, j;

			for (j = i; j > 9; j /= 10)
			{
				w *= j % 10;

			}

			w *= j;
			while (w > 9)
			{
				for (j = w, w = 1; j > 9; j /= 10)
				{
					w *= j % 10;

				}

				w *= j;
			}
			res[w]++;
		}

		for (int i = 0; i < 10; i++)
		{
			printf("%d ", res[i]);
		}
		printf("\n");
	}

	return 0;
}