博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最大公约数、欧几里得算法、拓展欧几里得算法、同余方程
阅读量:5793 次
发布时间:2019-06-18

本文共 785 字,大约阅读时间需要 2 分钟。

最大公约数(Greatest Common Divisors)。

欧几里得算法

int gcd(int a, int b) {    return b == 0 ? a : gcd(b, a % b);}

拓展欧几里得算法

int exgcd(int a, int b, int &x, int &y) {    if (!b) { x = 1; y = 0; return a; }    int result = exgcd(b, a % b, x, y);    int temp = x; x = y; y = temp - a / b * y;    return result;}

同余方程

应用拓展欧几里得算法。如洛谷P1082:

/* Luogu 1082 同余方程 * Au: GG * ax ≡ 1 (mod b) * ax + by = 1 */#include 
using namespace std;int exgcd(int a, int b, int &x, int &y) { if (!b) { x = 1; y = 0; return a; } int result = exgcd(b, a % b, x, y); int temp = x; x = y; y = temp - a / b * y; return result;}int main() { int a, b, x, y; scanf("%d%d", &a, &b); exgcd(a, b, x, y); printf("%d\n", (x + b) % b); return 0;}

转载于:https://www.cnblogs.com/greyqz/p/7290737.html

你可能感兴趣的文章
【IL】IL生成exe的方法
查看>>
leetcode------Triangle
查看>>
network
查看>>
测试工程师速成手册
查看>>
实验一 查看CPU和内存,用机器指令和汇编指令编程
查看>>
Exchange 2013 RTM安装部署过程
查看>>
批量部署Windows NanoServer 2016 With Hyper-V
查看>>
Summary interview question for Project Manager -2
查看>>
ORACLE 11G在Linux下的标准安装方法(下)
查看>>
三星的“后手机时代”:电视崛起,构建新生态叫板Android
查看>>
在vSphere网络中不能只在交换机一端配置链路聚合
查看>>
易信对决微信:市场需要挑战者
查看>>
2015年值得关注的几个WEB技术
查看>>
项目组CentOS开发环境的搭建
查看>>
Zen Cart 如何添加地址栏上的小图标
查看>>
2012.11.10项目经理考试核心关注点1_《系统集成项目管理工程师软考辅导——3年真题透解与全真模拟》...
查看>>
又到红包季,QQ红包强势出击欲何为?
查看>>
大学课程能给我们带来什么?——“我们能从大学得到什么”系列之三
查看>>
webdis实现Redis的http接口及多数据格式共享 [含json,restful]
查看>>
网站另类推广玩法心得
查看>>