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

exgcd

定义


gcd 是求最大公约数的算法,求当时,不定方程的一组整数解


分析


欧几里得算法的核心是**递归**,在最后一层得到一组解,在回溯过程中求出原始解。

我们需要计算递归下一层的参数值,再推本层。

由于的终止条件是,此时的值是原式的最大公约数,记作

不难看出,在最后一层时,(,) 时正好是的一组整数解。

接着分析转移式,从最底层推到第一层即可。


转移式


当前层

令下一层的参数分别为,,,,则

由于,原式转化为

假设我们已经求出下一层的解,则


乘法后


由原式





由此从递归最后一层推至第一层即可求出的一组解。

时间复杂度

扩展欧几里得算法的时间复杂度与欧几里得算法(gcd)相同,均为


C++代码

#include<bits/stdc++.h> using namespace std; int a,b,x,y,d; void exgcd(int a,int b,int &x,int &y){//注意是引用传参 if(b==0){ x = 1,y = 0; d = a;//记录gcd(a,b) return ; } exgcd(b,a%b,x,y); int x_ = x;//记录x' x = y; y = x_-a/b*y; } int main(){ scanf("%d%d",&a,&b); exgcd(a,b,x,y); printf("%dx+%dy = %d\n",a,b,d); printf("x = %d\ny = %d",x,y); return 0; }
void exgcd(int a,int b,int &x,int &y){ if(b==0){ x = 1,y = 0; d = a; return ; } exgcd(b,a%b,y,x);//返回后x,y交换 y -= a/b*x;//原y换位x,x换位y,原式x-a/b*y,换后y-a/b*x }
http://www.jsqmd.com/news/1397755/

相关文章:

  • 《天道》5
  • 从「加速」到「加崩」:Cython手写布尔数组扩展差点把我整破防
  • OpenCore Legacy Patcher 新手完整指南:旧 Mac 免费升级 macOS 的每一步
  • 2026福州黄金回收攻略:正规门店?维权凭证?五大避坑要点 - 朝夕热点速报
  • 厂内多智能体系统流程和框架
  • 3步把重复操作交给电脑:Pulover‘s Macro Creator 录制式自动化入门
  • 个人 AI 助手对比企业级 AI CRM 有哪些不同?销售管理不能单用个人 AI 的原因:五大关键差异
  • OpenCore Legacy Patcher完整指南:让旧Mac免费重获新生的终极升级方案
  • TurboEx邮件系统|150+项安全管理组合拳为客户打造安全邮箱 - 拓波TurboEx邮件系统
  • 最优子结构里藏着的秘密,远比我想象的要多
  • Steam创意工坊下载器WorkshopDL实测手记:把创意工坊模组免费搬进非Steam游戏
  • Kimi LeetCode 3910. 统计节点和为偶数的连通子图 Python3实现
  • 宇视出入口设备默认IP地址全解析与网络寻址实战指南
  • 【创新方案】绝区零一条龙全自动辅助工具:解放双手的智能托管引擎
  • 显卡驱动卸载不干净?Display Driver Uninstaller 保姆级清理指南,一次解决残留难题
  • Cat.1 DTU与Cat.4 DTU怎么选?带宽够用吗?
  • 告别月费订阅:Sunshine 自托管游戏串流,把家里的电脑变成随身的私人游戏库
  • 深圳处置闲置黄金实地探店,理清报价差别学会理性选择回收渠道 - 日常前沿快讯
  • 从One-Hot到BERT:深入解析Embedding技术原理、演进与工程实践
  • 3步完成网易云NCM转MP3:ncmdump开源解密工具上手指南
  • 还在手动处理微信小店订单?这款铺货工具支持批量下单,多店铺管理省心省事 - 抖大侠
  • 网盘直链下载助手是什么?三步绕开官方客户端拿到百度网盘等8大网盘真实下载地址
  • tModLoader常见问题排查终极手册:一次把“装不上、进不去、玩不爽“彻底问清楚
  • 网盘下载慢到怀疑人生?三步装上这款网盘直链解析工具,让文件“嗖“地飞进电脑
  • 实习生视角:一套轻量化 IT 设备管理系统,如何把机房运维的“糊涂账“算清楚
  • 免费开源文档下载工具:kill-doc 让 30+ 平台文档一键下载
  • 44. 【Java】线程安全与同步:synchronized与Lock
  • 市面上做学工一体化平台的厂家不少,到底该怎么挑
  • 基于MiniCPM5-1B构建本地研究智能体:低成本实现工具调用与数据隐私
  • VMProtect逆向分析:从虚拟机原理到实战还原技术