#P11920. [PA 2025] 乘数 / Mnożenie cyfr

[PA 2025] 乘数 / Mnożenie cyfr

题目背景

PA 2025 R3B.

题目描述

对于非负整数 nn,定义函数 f(n)f(n)

  • nn 的十进制表示为 a1a2ak\overline{a_1a_2\ldots a_k}
  • f(n)=a1a2akf(n)=a_1a_2\cdots a_k

换言之,f(n)f(n) 就是将 nn 十进制表示下的数位相乘得到的结果。

对于非负整数 xx,按如下程序执行操作:

  1. x9x\le 9,终止操作;
  2. 否则令 xf(x)x\gets f(x),回到 1。

举例

  1. 575×7=353×5=151×5=557\to 5\times 7=35\to 3\times 5=15\to 1\times 5=5
  2. 2552×5×5=505×0=0255\to 2\times 5\times 5=50\to 5\times 0=0

可以证明,对于任意非负整数 xx,这个操作都一定会终止。

TT 组数据,每组数据给定 nn,对于 i=0,1,,9i=0,1,\ldots,9,求出:

  • 有多少个 1jn1\le j\le n 满足将 jj 操作后最终会得到 ii

输入格式

本题单个测试点内含有多组测试数据。

第一行,一个正整数 TT

第二行,TT 个正整数 nn,描述 TT 组数据。

输出格式

输出 TT 行,每行 1010 个非负整数,每行第 ii 个整数表示:

  • 有多少个 1jn1\le j\le n 满足将 jj 操作后最终会得到 i1i-1
5
10 56 57 123 1
1 1 1 1 1 1 1 1 1 1
11 2 7 3 6 5 8 2 9 3
11 2 7 3 6 6 8 2 9 3
36 3 11 4 12 8 16 4 24 5
0 1 0 0 0 0 0 0 0 0

提示

  • 1T1031\le T\le 10^3
  • 1n10181\le n\le 10^{18}