P13582 [NWRRC 2023] Based Zeros

题目描述

Barbara 一直以来都知道如何用十进制(以 $10$ 为底)表示整数,使用的数字有 $0, 1, 2, \ldots, 9$。最近她了解到,对于任意整数底数 $b \ge 2$,她也可以用 $b$ 进制表示整数,使用的数字为 $0$ 到 $b-1$。 Barbara 最喜欢的数字是 $0$。幸运的是,在所有进制中,$0$ 的写法都是一样的。 今天,Barbara 正在玩一个正整数 $n$。现在她想知道:在表示 $n$ 的所有进制中,在哪些进制下 $n$ 的表示中包含最多个 $0$?请你帮她找出所有这样的进制。

输入格式

每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。 接下来每个测试用例占一行,每行包含一个正整数 $n$($2 \le n \le 10^{18}$)。

输出格式

对于每个测试用例,第一行输出两个整数 $k$ 和 $m$,分别表示在所有进制下 $n$ 的表示中最多有 $k$ 个 $0$,以及有 $m$ 个这样的进制。 第二行输出 $m$ 个整数 $b_1, b_2, \ldots, b_m$,表示所有满足条件的进制,按递增顺序输出($2 \le b_1 < b_2 < \cdots < b_m \le n$)。

说明/提示

以下是样例测试用例中,$n$ 的表示包含最多 $0$ 的进制: - $11 = \mathtt{1011}_2 = \mathtt{102}_3 = \mathtt{10}_{11}$(有一个 $0$); - $1007 = \mathtt{1101022}_3 = \mathtt{1007}_{10}$(有两个 $0$); - $239 = \mathtt{11101111}_2 = \mathtt{1035}_6 = \mathtt{10E}_{15} = \mathtt{10}_{239}$(有一个 $0$)。 在 $239 = \mathtt{10E}_{15}$ 的表示中,$\mathtt{E}$ 代表值为 $14$ 的数字。 由 ChatGPT 4.1 翻译