AT_pakencamp_2021_day2_p A^k=k
题目描述
请针对 $T$ 个测试用例,解决以下问题。
给定正整数 $A$ 和 $M$。请计算满足 $A^k \equiv k \pmod{M}$ 的非负整数 $k$($k < M \times \varphi(M)$)的个数(记为 $ans$),并构造出满足条件的 $k$ 的 $\min(ans,1000)$ 个。
其中,$\varphi(M)$ 表示[欧拉函数](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E3%81%AE%CF%86%E9%96%A2%E6%95%B0)。
输入格式
输入通过标准输入给出,格式如下:
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每个测试用例格式如下:
> $A$ $M$
输出格式
请输出 $2T$ 行。对于第 $i$ 个测试用例,从第 $2i-1$ 行到第 $2i$ 行输出对应的答案。
对于每个测试用例,第一行输出题目中定义的 $ans$,第二行输出用空格分隔的、满足条件的 $k$ 的 $\min(ans,1000)$ 个。
要求输出的 $k$ 必须互不相同。
说明/提示
### 限制条件
- $1 \leq T \leq 100$
- $1 \leq A, M \leq 10^9$
- 所有输入均为整数
### 样例解释 1
$2^4 \equiv 4 \pmod{4}$。
原案: [turtle0123\_\_](https://atcoder.jp/users/turtle0123__)
由 ChatGPT 4.1 翻译