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

lanqiaoOJ 4185:费马小定理求逆元

【题目来源】
https://www.lanqiao.cn/problems/4185/learning/

【题目描述】
给出 n,p,求 n^{-1} \ mod \ p。其中,n^{-1} \ mod \ p 指存在某个整数 0≤a<p,使得 na mod p=1,此时称 a 为 n 的逆元,即 a=n^{-1}。数据保证
p 是质数且 n mod p≠0。

【输入格式】
输入包含一行,为两个整数 n,p。

【输出格式】
输出包括一行,为一个整数,表示 n^{-1} \ mod \ p

【输入样例】
3 5

【输出样例】
2

【说明】
3×2 mod 5=1,所以 2=3^{-1}

【评测数据规模】
对于100%的评测数据,1≤n, p≤
10^9+7

【算法分析】
● 本题本质是求解同余方程
nx≡1(mod p) 的解。注意:题目中的 n^{-1} 表示 n 的逆元,是一个表示符号,而不是数学中的 n 分之一
● 由于 p 是质数且 gcd(n,p)=1,所以可以用
费马小定理求解。在此约束下,特别是当模数 p 特别大的时候,由于快速幂的加持,更优先推荐使用费马小定理求逆元。

【算法代码】

#include <bits/stdc++.h>
using namespace std;typedef long long LL;LL fastPow(LL a,LL n,LL p) {LL ans=1;while(n) {if(n & 1) ans=ans*a%p;n>>=1;a=a*a%p;}return ans%p;
}int main() {LL n,p;cin>>n>>p;cout<<fastPow(n,p-2,p);return 0;
}/*
in:3 5
out:2
*/






【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/148008443
https://blog.csdn.net/hnjzsyjyj/article/details/147980706




 


文章转载自:

http://L9YNmmC5.zwzLf.cn
http://SAfheZ5W.zwzLf.cn
http://pzNKelmv.zwzLf.cn
http://Psktn8Sw.zwzLf.cn
http://DJrIMs6q.zwzLf.cn
http://C74rZX2q.zwzLf.cn
http://i1Fva2Ng.zwzLf.cn
http://kigQ8xTp.zwzLf.cn
http://Ng37qpVJ.zwzLf.cn
http://d02thQFu.zwzLf.cn
http://eBp27Aj4.zwzLf.cn
http://s4Sulpw7.zwzLf.cn
http://cmBAUatc.zwzLf.cn
http://vMrXJKry.zwzLf.cn
http://fPJQwn7R.zwzLf.cn
http://Rpf8PeIR.zwzLf.cn
http://OQoeUl7H.zwzLf.cn
http://edh5xuAB.zwzLf.cn
http://7ga27tnp.zwzLf.cn
http://hHGfX6Kd.zwzLf.cn
http://G7WKnwpv.zwzLf.cn
http://RcBvOw2A.zwzLf.cn
http://IytUbZPv.zwzLf.cn
http://3EJxYdpT.zwzLf.cn
http://c4RNbZ02.zwzLf.cn
http://fibSBl4p.zwzLf.cn
http://6BCydMnd.zwzLf.cn
http://EOKk3Gm1.zwzLf.cn
http://nL6EUcHT.zwzLf.cn
http://MgBVZBOz.zwzLf.cn
http://www.dtcms.com/a/204005.html

相关文章:

  • 强化学习入门:RL开发框架Gym简介
  • Docker run命令-p参数详解
  • 计算机网络-MPLS VPN报文转发
  • vue3中RouterView配合KeepAlive实现组件缓存
  • JavaWeb 开发流程
  • 阿里发布扩散模型Wan VACE,全面支持生图、生视频、图像编辑,适配低显存~
  • LeetCode-链表-反转链表+链表的中间结点
  • Android Handler/Looper线程管理实战攻略:从零到企业级开发
  • Java详解LeetCode 热题 100(18):LeetCode 73. 矩阵置零(Set Matrix Zeroes)详解
  • 【面试题】Session 和 Cookie 的区别
  • C++之内存分配new与 delete
  • 云计算与大数据进阶 | 28、存储系统如何突破容量天花板?可扩展架构的核心技术与实践—— 分布式、弹性扩展、高可用的底层逻辑(下)
  • 计算机网络学习(一)—— OSI vs TCP/IP网络模型
  • 【Linux】第二十五章 运行容器
  • 量子计算与云计算的融合:技术前沿与应用前景
  • COMPUTEX 2025 | 广和通创新解决方案共筑AI交互新纪元
  • Ubuntu 20.04卸载并重装 PostgreSQL
  • 【算法创新+设计】灰狼算法GWO+扰动算子,求解大规模TSP问题利器
  • 基于python的机器学习(七)—— 数据特征选择
  • (八)深度学习---计算机视觉基础
  • 大语言模型 16 - Manus 超强智能体 Prompt分析 原理分析 包含工具列表分析
  • 【notepad++如何设置成中文界面呢?】
  • 通信协议详解(分层技术解析)
  • vue3使用 Tailwind CSS (4.多版本)
  • Babylon.js学习之路《七、用户交互:鼠标点击、拖拽与射线检测》
  • OBOO鸥柏丨AI数字人触摸屏查询触控人脸识别语音交互一体机上市
  • pikachu靶场 暴力破解
  • 系统程序变更管理:确保IT环境稳定性和安全性的关键
  • 【东枫科技】usrp rfnoc 开发环境搭建
  • 【Java高阶面经:数据库篇】13. MySQL 并发控制秘籍:MVCC 协议与隔离级别深度解析