求逆元的两种方法
来源:互联网 发布:三菱plcfx3u编程实例 编辑:程序博客网 时间:2024/05/19 12:27
方法1:
扩展欧几里德
方法2:
费马小定理
a^(p-1)=1(% p) => a^(p-2) = 1/a(% p) => a^(p-2) = a^(-1)(% p)
a的模p逆元就是a^(p-2),要求a与p互质
扩展欧几里德
只能用于求a < p的情况,而且要求a与p互质
int inv(int a, int p){if(a == 1) return 1;return inv(p%a, p) * (p-p/a) % p;}
方法2:
费马小定理
a^(p-1)=1(% p) => a^(p-2) = 1/a(% p) => a^(p-2) = a^(-1)(% p)
a的模p逆元就是a^(p-2),要求a与p互质
int pow_p(int a, int b, int c) // a^b % c{int s = 1;while(b > 0){if(b % 2) s *= a;a *= a;b /= 2;}return s;}int inv(int a, int p){return pow_p(a, p-2, p); //a^(p-2) % p}
0 0
- 求逆元的两种方法
- 求逆元的两种方法
- popup的两种方法
- 数据库连接的两种方法
- Query的两种方法
- 多线程的两种方法
- 学习的两种方法
- 链表逆置的两种方法
- Crontab的两种方法。
- 缓存的两种方法
- 单链表逆置的两种方法
- RMQ的两种方法~
- Bitmap的两种方法
- 复用类的两种方法
- 科学研究的两种方法
- Email 的两种方法
- 线程的两种方法
- 计时器的两种方法
- ionic-下拉刷新载入数据
- python读取网页
- 浙大校赛- Course Selection System
- Struts2(二)——配置文件struts2.xml的编写
- 为什么数据库表的int类型字段映射到实体类中要使用Integer类型,而不是int类型?
- 求逆元的两种方法
- 线程池调整真的很重要
- Spring MVC和AJAX异步交互实例
- Android Material Design 材料设计
- 数据结构之环形队列应用(2)
- C语言程序设计(13)
- java基础 之 反射初步
- 练习题
- init_MUTEX被废除(解决error: implicit declaration of function ‘init_MUTEX’)