CF913G Power Substring

题目描述

给定 $n$ 个正整数 $a_1, a_2, \ldots, a_n$。 对于每个 $a_i$,你需要找到一个正整数 $k_i$,使得 $2^{k_i}$ 的十进制表示的最后 $min(100, length(2^{k_i}))$ 位中包含 $a_i$ 的十进制表示作为子串。这里 $length(m)$ 表示 $m$ 的十进制表示的长度。 注意,你不需要让 $k_i$ 最小化。本题中的十进制表示不包含前导零。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 2000$),表示整数个数。 接下来的 $n$ 行,每行包含一个正整数 $a_i$($1 \leq a_i < 10^{11}$)。

输出格式

输出 $n$ 行。第 $i$ 行应输出一个正整数 $k_i$,使得 $2^{k_i}$ 的最后 $min(100, length(2^{k_i}))$ 位中包含 $a_i$ 的十进制表示作为子串。要求 $1 \leq k_i \leq 10^{50}$。 可以证明,在给定的限制下答案总是存在。如果有多个答案,输出任意一个即可。

说明/提示

由 ChatGPT 5 翻译