当前位置: 首页 > 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




 

相关文章:

  • 强化学习入门: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的机器学习(七)—— 数据特征选择
  • (八)深度学习---计算机视觉基础
  • 图书翻页的动画 做网站启动用/站长工具网站查询
  • 做外汇都看那些网站/如何免费找精准客户
  • 夷陵网/百度seo怎么收费
  • 什么网站可以做长图攻略/百度快照搜索
  • 卖东西的网站怎么做/百度认证平台官网
  • 湖南企业做网站/sem竞价推广托管