裴蜀定理+扩展欧几里得定理的应用

今天算法课老师讲了扩展gcd,就好好学了下

裴蜀定理

对于任意一对正整数a,b,一定存在非零整数x,y使得ax+by=(a,b),其中(a,b)为a和b的最大公约数。

裴蜀定理的常见应用和推论

  1. 可以用来判断方程ax+by=c是否有解,只要看c是否是(a,b)的倍数

2.如果z是a和b的最大公约数(a,b)的整数倍,则一定存在x,y使得ax+by=z

扩展欧几里得算法的应用

用于求解方程 ax+by=gcd(a,b)

扩展欧几里得的手写版理解与手算推导递归实现的扩展GCD



核心代码实现

#include <bits/stdc++.h> using namespace std; const int N = 100010; int n; int exgcd(int a,int b,int &x,int &y) { if (!b) { x=1,y=0; return a; } int x1,y1,d; d = exgcd(b,a%b,x1,y1); x = y1, y = x1-a/b*y1; return d; } int main() { scanf("%d",&n); while (n--) { int a,b,x,y; scanf("%d%d",&a,&b); int d = exgcd(a,b,x,y); printf("%d %d\n",x,y); } return 0; }

__EOF__

本文作者dfl
本文链接https://www.cnblogs.com/sdnu-dfl/p/16920691.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   勇敢龙龙  阅读(156)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示