第23715题 程序题
判断整数a是否为质数p的原根

题目描述

对于质数 $p$,其原根 $g$ 是满足以下条件的正整数:

  1. $1 < g < p$
  2. $g^{p-1} \mod p = 1$
  3. 对于任意 $1 \leq i < p-1$,均有 $g^i \mod p \neq 1$ 其中 $a \mod p$ 表示 $a$ 除以 $p$ 的余数。

现在需要判断给定整数 $a$ 是否为质数 $p$ 的原根。

输入格式

第一行一个正整数 $T$,表示测试数据组数。 每组测试数据包含一行两个正整数 $a, p$。

输出格式

对于每组测试数据,输出一行:如果 $a$ 是 $p$ 的原根则输出 Yes,否则输出 No

输入样例 1

3
3 998244353
5 998244353
7 998244353

输出样例 1

Yes
Yes
No

数据范围

  • 对于40%的测试点,保证 $3 \leq p \leq 10^3$
  • 对于所有测试点,保证 $1 \leq T \leq 20$,$3 \leq p \leq 10^9$,$1 < a < p$,且 $p$ 为质数。
编辑模式
提交0次 正确率0.00%
答案解析