102226: [AtCoder]ABC222 G - 222
Description
Score : $600$ points
Problem Statement
We have a sequence $2,22,222,2222,\ldots$, where the $i$-th term is an $i$-digit integer whose digits are all $2$.
Where does a multiple of $K$ appear in this sequence for the first time? If the first multiple of $K$ is the $x$-th term of the sequence, print $x$; if there is no multiple of $K$, print -1
.
Given $T$ cases, solve each of them.
Constraints
- $1 \leq T \leq 200$
- $1 \leq K \leq 10^8$
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
$T$ $\text{case}_1$ $\text{case}_2$ $\vdots$ $\text{case}_T$
Each case is in the following format:
$K$
Output
Print $T$ lines. The $i$-th line should contain the answer for $\text{case}_i$.
Sample Input 1
4 1 7 10 999983
Sample Output 1
1 6 -1 999982
We have four cases.
- $2$ is a multiple of $1$.
- None of $2,22,222,2222,22222$ is a multiple of $7$, but $222222$ is.
- None of $2,22,\ldots$ is a multiple of $10$.
Input
题意翻译
定义数组 $A=\{2,22,222,2222,...\}$ ,给出 $q$ 次询问,每次询问给出一个数 $k$,求最小的 $x$ 使得 $A_x$ 是 $k$ 的倍数。 **样例解释** 对于样例中 $k=1$,有 $A_1=2$ 满足条件。 对于样例中 $k=7$,有 $A_6=222222$ 满足条件,并且 $A_1\sim A_5$ 均不符合条件。Output
分数:$600$分
问题描述
我们有一个序列$2,22,222,2222,\ldots$,其中第$i$项是一个$i$位整数,其数字全部为$2$。
在这个序列中,$K$的倍数第一次出现在哪里?如果$K$的第一个倍数是序列中的第$x$项,输出$x$;如果没有$K$的倍数,输出-1
。
给定$T$个测试用例,解决每个测试用例。
约束
- $1 \leq T \leq 200$
- $1 \leq K \leq 10^8$
- 输入中的所有值都是整数。
输入
从标准输入以以下格式给出输入:
$T$ $\text{case}_1$ $\text{case}_2$ $\vdots$ $\text{case}_T$
每个测试用例以以下格式给出:
$K$
输出
输出$T$行。第$i$行应包含$\text{case}_i$的答案。
样例输入1
4 1 7 10 999983
样例输出1
1 6 -1 999982
我们有四个测试用例。
- $2$是$1$的倍数。
- $2,22,222,2222,22222$中没有一个数是$7$的倍数,但$222222$是。
- $2,22,\ldots$中没有一个数是$10$的倍数。