当前位置: 首页 > news >正文

洛谷 P11961 [GESP202503 五级] 原根判断-提高+/省选-

题目背景

截止 2025 年 3 月,本题可能超出了 GESP 考纲范围。在该时间点下,原根是 NOI 大纲 8 级知识点(NOI 级),而相对简单的无需原根知识的做法中,使用的费马小定理与欧拉定理也属于 NOI 大纲 7 级知识点(提高级),且均未写明于 GESP 大纲中。需要注意,GESP 大纲和 NOI 大纲是不同的大纲。

若对题目中原根这一概念感兴趣,可以学习完成 【模板】原根。

题目描述

小 A 知道,对于质数 ppp 而言,ppp 的原根 ggg 是满足以下条件的正整数:

  • 1<g<p1<g<p1<g<p
  • gp−1modp=1g^{p-1}\bmod{p}=1gp1modp=1
  • 对于任意 1≤i<p−11\le i<p-11i<p1 均有 gimodp≠1g^i\bmod{p}\neq1gimodp=1

其中 amodpa\bmod{p}amodp 表示 aaa 除以 ppp 的余数。

小 A 现在有一个整数 aaa,请你帮他判断 aaa 是不是 ppp 的原根。

输入格式

第一行,一个正整数 TTT,表示测试数据组数。

每组测试数据包含一行,两个正整数 a,pa,pa,p

输出格式

对于每组测试数据,输出一行,如果 aaappp 的原根则输出 Yes,否则输出 No

输入输出样例 #1

输入 #1

3
3 998244353
5 998244353
7 998244353

输出 #1

Yes
Yes
No

说明/提示

数据范围

对于 40%40\%40% 的测试点,保证 3≤p≤1033\le p\le10^33p103

对于所有测试点,保证 1≤T≤201\le T\le201T203≤p≤1093\le p\le10^93p1091<a<p1<a<p1<a<pppp 为质数。

solution

根据费马小定理 gp−1modp=1g^{p-1}\bmod{p}=1gp1modp=1 恒成立,如果gtmodp=1g^{t}\bmod{p}=1gtmodp=1
则 t 是 p - 1的因子,所以只需要判断 p - 1 的因子即可

代码

#include <iostream>
#include "bit"
#include "vector"
#include "unordered_set"
#include "set"
#include "queue"
#include "algorithm"
#include "bitset"using namespace std;int n, a, p, k;int main() {cin >> n;for (int i = 0; i < n; i++) {cin >> a >> p;long long x = a;for (k = 2; k * k <= p - 1; k++) {if((p - 1) % k == 0){int y = (p - 1) / k;x = x * a % p; // a ^ y = ? 1if(x == 1){break;}// a ^ k = ? 1long long t = 1, z = a;while (y){if(y & 1) t = t * z % p;z = z * z % p;y /= 2;}if(t == 1){break;}}}if(k * k > p - 1) cout << "Yes\n";else cout << "No\n";}}

结果

在这里插入图片描述

http://www.dtcms.com/a/276214.html

相关文章:

  • Vue工程化
  • Spring Boot 基础入门与实战:从框架理解到项目搭建
  • 如何检测自动化设备中的直线导轨品质是否优良?
  • Oracle 数据库实战项目
  • SAC : 具有随机Actor的离策略最大熵深度强化学习
  • Android开发中RxJava的使用与原理
  • 杨娇兽の阴谋
  • 基于springboot+Vue的二手物品交易的设计与实现
  • 休闲项目策划与设计实训室:赋能实践育人的重要平台
  • 【学习笔记】Nginx常用安全配置
  • arcgis投影后数据显示问题记录
  • 以电商平台性能测试为例,详细描述Jmeter性能测试步骤,及如何确定用户并发数、用户启动时间、循环次数的设置
  • 算法练习6-大数乘法(高精度乘法)
  • jenkins部署vue前端项目
  • 【TA/Unity】Shader基础结构
  • TCP套接字
  • 网络配置综合实验全攻略(对之前学习的总结)
  • 医学AI前沿论坛第6期|目前主流的医学AI基础模型有哪些?我们应该如何在有限的数据下构建高性能的基础模型?
  • 某某航空 (新版)同盾 blackbox 补环境
  • 迷宫可达性统计问题详解
  • 缓存三剑客解决方案
  • 基于YOLO11的垃圾分类AI模型训练实战
  • 计算机毕业设计ssm医院耗材管理系统 基于SSM框架的医疗物资供应链管理平台 医院低值易耗品信息化监管系统
  • 解决MySql8报错:Public Key Retrieval is not allowed
  • 六年级数学知识边界总结思考-上册
  • 苍穹外卖项目日记(day05)
  • JavaScript加强篇——第六章 定时器(延时函数)与JS执行机制
  • matplotlib:散点图
  • CCF CSP第一轮认证一本通
  • 【Fargo】发送一个rtp包的过程3:为什么媒体包发送端检测到扩展,接收端检测不到