欧几里得(gcd) + 拓展欧几里得(ext_gxd)
来源:互联网 发布:程序员写博客写什么 编辑:程序博客网 时间:2024/05/16 07:25
1. 欧几里得算法
//求最大公约数和最小公倍数
int gcb(int a, int b){ return b == 0 ? a : gcb(a, a%b);}
2.拓展欧几里得
求解线性方程组 ax + by + c = 0
void gcd(int a, int b, int &x, int &y, int &d){ if(!b){ d = a; x = 1; y = 0; }else{ gcd(a, a%b, x, y, d); y -= x*(a/b); }}
//计算乘法逆元
int extgcd(ll a, ll b, ll &x, ll &y){ if(b == 0){ x = 1; y = 0; return a; }else{ ll ans = extgcd(b, a%b, x, y); ll t = x; x = y; y = t - a/b*y; return ans; }}//计算乘法逆元int cal(ll a, ll b, ll d){ ll x, y; ll gcd = extgcd(a, b, x, y); if(d % gcd != 0) return -1; x = x*d/gcd; b = b/gcd; if(b < 0) b = -b; ll ans = x%b; if(ans < 0) ans += b; return ans;}
阅读全文
0 0
- 欧几里得(gcd) + 拓展欧几里得(ext_gxd)
- gcd,欧几里得,拓展欧几里得&NOIP2012d2t1
- 拓展欧几里得算法(Extended Gcd)
- 对于gcd欧几里得的拓展
- 周赛 2 【拓展GCD&&欧几里得数】
- 数论基础(gcd + 拓展欧几里得)
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 拓展欧几里得
- 欧几里得算法+拓展欧几里得算法
- 从欧几里得到拓展欧几里得
- 欧几里得算法&&拓展欧几里得算法
- 欧几里得算法&&拓展欧几里得算法
- 文章标题
- C_笔记整理_3
- 数进制转化问题
- java-集合Map接口
- hdu 5536 Chip Factory(字典树)
- 欧几里得(gcd) + 拓展欧几里得(ext_gxd)
- QT5.9.1与opencv3.3读取图片
- ajax请求status为canceled的原因浅析
- 基于生长的棋盘格角点检测方法--(2)代码详解(上)
- day73_oracle03_练习题
- 简单的c#winform画图工具
- 数据库角色和服务器角色总结
- Boolan——C++开发工程师——C++面对对象高级编程(上)—— 第一周笔记
- rsync