【算法小结】费马小定理
“ Ctrl AC!一起 AC!”
费马小定理可以用来求乘法逆元。
费马小定理:P为质数时且gcd(A,P)==1,则A^(P-1)=1(在mod P的条件下)。
乘法逆元:A*B=1(mod P情况下),A与B互为乘法逆元。
所以当 P为质数时且gcd(A,P)==1 时:
A*B=A^(P-1) ---> B=A^(P-2)
这样只要对A^(P-2)来个快速幂,就能得出A的乘法逆元
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll binaryPow(ll a,ll b,ll m){ //(a^b)%mll ans=1;while(b>0){if(b&1){ans=ans*a%m;}a=a*a%m;b>>=1;}return ans;
}
int main(){ll num,P;cin>>num>>P;cout<<"The niyuan is: "<<binaryPow(num,P-2,P)<<endl;return 0;
}
感谢阅读!!!
“ Ctrl AC!一起 AC!”
【算法小结】费马小定理相关推荐
- C++实现伪大素数生成算法(费马小定理判别法、米勒拉宾素数判定法)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.伪大素数生成原理 方法一 方法二 数学基础 二.费马小定理判别法 1.算法 2.代码实现 3.运行结果 二.米勒拉宾素数 ...
- 关于素数常用结论--威尔逊定理、欧拉定理、费马小定理、米勒罗宾算法
再需要判定的数比较大时,用枚举法肯定不行的,但目前数学界也没有任何一种又快又准确的判定素数的方法,并且也证明了素数不存在任何一种通项表达式.但作为初等数论中最大的一部分内容,数学家们对素数性质进行了大 ...
- C++ Fermat‘s little theorem费马小定理寻找模逆实现算法(附完整源码)
C++ Fermat's little theorem费马小定理寻找模逆实现算法 C++ Fermat's little theorem费马小定理寻找模逆实现算法完整源码(定义,实现,main函数测试 ...
- 费马小定理 素性判断 蒙哥马利算法
转载于http://blog.csdn.net/arvonzhang/article/details/8564836 1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所 ...
- 费马小定理 素数判定 蒙哥马利算法
转自:http://www.cnblogs.com/Knuth/archive/2009/09/04/1559949.html 约定: x%y为x取模y,即x除以y所得的余数,当x<y时,x%y ...
- 算法 {欧拉函数,欧拉定理,费马小定理}
欧拉函数 定义 ϕ ( x ) , x ∈ N + \phi(x), \ \ x \in N^+ ϕ(x), x∈N+ means the number of y ∈ N + y \in N^+ y ...
- c语言生成两位随机素数算法,[算法]费马小定理求质数的算法之Miller-Rabin算法,C语言实现 | 李大仁博客...
今天讲点比较高级的算法,目的也很简单,求质数,但是应用一种新的算法Miller-Rabin算法,这是一种利用了概率和费马小定理的算法设计,有点玄乎吧,其实本人也是刚接触这种算法,这是一种纯数学的解法, ...
- 小结:数论四大定理(威尔逊定理+欧拉定理+中国剩余定理+费马小定理)
前置知识: 模运算消去律:ac ≡ bc (mod p) → a ≡ b (mod p/gcd(c,p) ) 威尔逊定理: 当且仅当p为素数时,( p -1 )! ≡ -1 ( mod p ) 当且仅 ...
- 夜深人静写算法(三十二)- 费马小定理
文章目录 一.前言 二.费马小定理 1.费马小定理定义 2.费马小定理证明 三.素数判定和伪素数 1.素数判定 2.伪素数 四.费马小定理的应用 1.二分快速幂降幂 2.模 p 逆元 3.Rabin- ...
最新文章
- Linux负载均衡实现
- vue this.$router.push()传参
- 贝佐斯成功拉下马斯克,NASA把SpaceX的独家登月合同暂停了
- python学习路线-Python最佳学习路线
- mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...
- window10最全win键组合技巧(win10快捷键)
- SQL Server 查询性能优化——覆盖索引(二)
- 为什么nodejs是单进程的_Nodejs探秘:深入理解单线程实现高并发原理
- maya为什么不能导出fbx_Maya在操作中最容易出现的几个问题,现在注意还来得及...
- java集合框架 改写_Java集合框架1
- php100视频教程下载(全集),下载地址链接(整理后包涵解压密码)
- python爬取高德poi数据_高德地图之python爬取POI数据及其边界经纬度
- 《程序员面试宝典》中的一些面试题
- 桌面麒麟系统添加字体
- 记录第一个 python项目 外星人入侵小游戏
- 一名优秀的数据分析师,应该具备哪些基本素质?
- 计算机考试分值2017,2017计算机二级考试应试技巧
- STM32三种BOOT模式
- 【阿里云ACE】北京新春活动
- 方案开发,做一个口袋秤的芯片方案设计