CF1454D Number into Sequence
题目描述
给定一个整数 $n$($n > 1$)。
你的任务是找到一个整数序列 $a_1, a_2, \ldots, a_k$,使得:
- 每个 $a_i$ 都严格大于 $1$;
- $a_1 \cdot a_2 \cdot \ldots \cdot a_k = n$(即该序列的乘积等于 $n$);
- 对于每个 $i$ 从 $1$ 到 $k-1$,$a_{i+1}$ 能被 $a_i$ 整除;
- $k$ 是可能的最大值(即该序列长度尽可能大)。
如果存在多个满足条件的序列,输出任意一个即可。可以证明,对于任意整数 $n > 1$,至少存在一个合法的序列。
你需要回答 $t$ 个独立的测试用例。
输入格式
输入的第一行包含一个整数 $t$($1 \le t \le 5000$),表示测试用例的数量。接下来有 $t$ 行,每行一个整数 $n$($2 \le n \le 10^{10}$)。
保证所有 $n$ 的和不超过 $10^{10}$($\sum n \le 10^{10}$)。
输出格式
对于每个测试用例,输出两行答案:第一行输出一个正整数 $k$,表示序列 $a$ 的最大可能长度。第二行输出 $k$ 个整数 $a_1, a_2, \ldots, a_k$,即满足题意的序列。
如果有多种答案,可以输出任意一种。可以证明,对于任意 $n > 1$,至少存在一个合法的序列。
说明/提示
由 ChatGPT 4.1 翻译