编程题
### 问题描述 在一个古老的迷宫中,有一道无尽的通道。通道上每隔一定的距离就会有一块神秘的石头,石头上刻着从 $1$ 开始的连续整数。从 $1$ 号石头开始,每块石头的编号都比前一块大 $1$。 石头上的数字有特殊的意义。如果你站在编号为 $n$ 的石头上,并向前走,你将会瞬间移动到编号为 $n+x$ 的石头上,其中 $x$ 为 $n$ 的各位数字之和。 例如,如果你站在编号为 $16$ 的石头上,由于 $1 + 6 = 7$,所以下一步你会移动到编号为 $16+7=23$ 的石头上。 现在,会有多次询问,你需要对每个询问输出从 $1$ 号石头出发,到达指定编号石头的最少步数,如果无法到达,则输出 $-1$。 ### 输入格式 输入包含一个整数 $t$,$(1\leq t\leq 100)$,表示有 $t$ 个询问。 接下来 $t$ 行,每行一个整数 $n$,$(1\leq n\leq10^6)$,表示目标石头的编号。 ### 输出格式 对于每个询问,输出一行,表示从 $1$ 号石头到达目标石头的最少步数。如果无法到达,输出 $-1$。 ### 输入样例 ``` 4 8 15 23 1000000 ``` ### 输出样例 ``` 3 -1 5 -1 ```
查看答案
赣ICP备20007335号-2