判断整数a是否为质数p的原根

be578500 程序题 共 个子题

题目描述

对于质数 $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$ 为质数。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧