[SNCPC2024] 下棋

Luogu
IDLGP10702
Time1000ms
Memory256MB
DifficultyP3
2024数论O2优化陕西进制省赛/邀请赛
LNC 喜欢所有 $k$ 进制下所有数位的乘积为自身因子的数。他称之为 LNC 数。例如: 当 $k = 10$ 时,$y = (36)_{10}$ 是 LNC 数,因为 $(3 \times 6) \mid 36$。 当 $k = 4$ 时,$y = (12)_4$ 是 LNC 数,因为转换成十进制后 $(12)_4 = (6)_{10}$,而 $(1 \times 2) \mid 6$。 当 $k = 2$ 时,$y = (1101)_2$ 不是 LNC 数,因为转换成十进制后 $(1101)_2 = (13)_{10}$,而 $0$ 不是 $13$ 的因子。 LNC 在和 LJJ 玩一个游戏,LJJ 给出 $x$ 枚棋子,然后 LNC 选定一个整数 $k$ ($k \geq 2$)。随后他们交替取走若干枚棋子,要求取走的棋子数量是 $k$ 进制意义下的 LNC 数。LNC 先手,先取完的获胜。两个人都绝顶聪明,故都会选择最优的策略。 LJJ 觉得这个游戏很不公平,他们一共玩了 $T$ 局游戏,对于每局游戏他给出的 $x$,他希望知道最小的 $k$ 使得 LNC 先手必胜。 ## Input 输入第一行一个正整数 $T$ ($1 \le T \le 1 \times 10^2$),表示数据组数。 接下来 $T$ 行每行一个正整数 $x$ ($3 \le x \le 10^{18}$),表示 LJJ 给出的数 $x$。 ## Output 输出 $T$ 行每行一个正整数 $k$,表示每个询问的最小的 $k$,使 LNC 先手必胜。 [samples] ## Note 当 $x=5$ 的时候,LNC 可以选择 $k=2$。$x=(5)_{10}=(101)_2$。 LNC 先手拿掉 $(11)_2$,此时 $x=(10)_2$,LJJ 只能拿走 $(1)_2$,LNC 拿走最后的 $(1)_2$ 获胜。 又因为 $k=2$ 已经不能再小了,所以最终答案为 $k=2$。
Samples
Input #1
3
9
5
10
Output #1
2
2
3
API Response (JSON)
{
  "problem": {
    "name": "[SNCPC2024] 下棋",
    "description": {
      "content": "LNC 喜欢所有 $k$ 进制下所有数位的乘积为自身因子的数。他称之为 LNC 数。例如: 当 $k = 10$ 时,$y = (36)_{10}$ 是 LNC 数,因为 $(3 \\times 6) \\mid 36$。 当 $k = 4$ 时,$y = (12)_4$ 是 LNC 数,因为转换成十进制后 $(12)_4 = (6)_{10}$,而 $(1 \\times 2) \\mid 6$。 ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 262144
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10702"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "LNC 喜欢所有 $k$ 进制下所有数位的乘积为自身因子的数。他称之为 LNC 数。例如:\n\n当 $k = 10$ 时,$y = (36)_{10}$ 是 LNC 数,因为 $(3 \\times 6) \\mid 36$。\n\n当 $k = 4$ 时,$y = (12)_4$ 是 LNC 数,因为转换成十进制后 $(12)_4 = (6)_{10}$,而 $(1 \\times 2) \\mid 6$。\n...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments