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

算法中的数学:费马小定理

1.同余式

定义:如果两个整数a,b模p的余数相同,那么a,b就是模p的同余式

记作:a \equiv b \pmod{p}

性质:

1.同加性:若a和b同时加一个整数,那么他们加完之后的两个数模p仍为同余式
2.同乘性:若a和b同时乘一个整数,那么他们乘完之后的两个数模p仍为同余式

但是他并不满足同除性

2.费马小定理

定义:若p为质数且a,b互质,那么a^{p-1} \equiv 1 \pmod{p}

也就是说a^p-1%p == 1

3.乘法逆元

若a,b互质,且满足ax % b == 1,那么称x为a模m的乘法逆元,记作a^-1.

eg: a == 3 , b == 2,此时x == 1/3/....

那么1/3/...等数就叫3模2的乘法逆元

应用场景:
当我们需要计算(a/b)%c的时候,如果a可被b整除,那么我们可以正确得到结果,但是如果我们的a无法被b整除,此时直接先计算除法就会吹出现精度丢失的问题

而乘法逆元可以很好的解决这个问题:

所以我们只要求出a模c的乘法逆元来替换b^-1次方即可

疑问:如何求乘法逆元?
答:费马小定理+快速幂

当c为质数,且a,c互质的时候,我们可以用费马小定理

相关文章:

  • python下通过wmic设置程序的优先级~~~
  • 如何理解线性判别分析(LDA)算法?
  • Java语言快速排序和堆排序(优先队列)介绍,附demo代码
  • 安卓11 多任务视图270 度的情况报错
  • 12软件测试需求分析案例-删除学生信息
  • 免费PDF工具-PDF24V9.16.0【win7专用版】
  • 2025年八大员【标准员】考试题库及答案
  • 基于netty实现视频流式传输和多线程传输
  • 25年软考架构师真题(回忆更新中)
  • 【检索增强生成(RAG)全解析】从理论到工业级实践
  • 动静态库--
  • 嵌入式<style>设计模式
  • 设计模式 - 模板方法模式
  • 前端项目部署 打包上线
  • Vue项目前后端交互大量数据的-之-前端优化方案
  • Java——设计模式(Design Pattern)
  • LINQ性能优化终极指南
  • 数据库中表的设计规范
  • S32K开发环境搭建详细教程(二、添加S32K3xx SDK)
  • 【读代码】BAGEL:统一多模态理解与生成的模型
  • 动态网站建设 教学大纲/长沙seo运营
  • 做一个电商网站要多少钱/提高工作效率心得体会
  • 建设自己网站/实时新闻最新消息
  • 基于html5的旅游网站的设计/网站模板之家
  • 外贸网站建站注意事项/seo推广费用
  • 学习css网站开发/厦门seo推广优化