首页 > 编程语言 > 详细

扩展欧几里德算法(数论)

时间:2019-10-15 19:59:57      阅读:79      评论:0      收藏:0      [点我收藏+]
根据贝祖定理:如果a、b是整数,那么一定存在整数x、y使得ax+by=gcd(a,b)。
扩展欧几里德定理的作用就是不仅求出了最小公倍数,还能求出一组解x,y(x,y可能为负数),使得 ax + by = gcd(a,b)
#include<bits/stdc++.h> #define llinf (0x3f3f3f3f3f3f3f3f) #define inf (0x3f3f3f3f) typedef long long i64; using namespace std; i64 exgcd(i64 a,i64 b,i64& x,i64& y) { if(b == 0) { x = 1,y = 0; return a; } i64 r = exgcd(b,a%b,x,y); i64 tmp = y; y = x - (a/b)*y; x = tmp; return r; } int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); i64 a,b; cin>>a>>b; i64 r = exgcd(a,b,x,y); cout<<x<<" "<<y<<‘\n‘; }

  https://blog.csdn.net/destiny1507/article/details/81750874

扩展欧几里德算法(数论)

原文:https://www.cnblogs.com/newstartCY/p/11679894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!