日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

欧几里得及扩展欧几里得算法

發(fā)布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 欧几里得及扩展欧几里得算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  歐幾里得算法 這個就是常說的輾轉(zhuǎn)相除法,用于計算兩個整數(shù) $a,b$ 的最大公約數(shù),即$$gcd(a,b)=gcd(b,a\;mod\;b)$$

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

  展歐幾里德算法?是用來在已知 $a,b$ 求一組整數(shù)解 $x,y$ 使它們滿足等式$$ax+by=gcd(a, b)$$

  (解一定存在 根據(jù)數(shù)論中的相關(guān)定理?具體怎么證明我也不清楚

  那么問題來了 如何求出一組 $x,y$?

  證明如下(重點):

  設(shè) $a>b$

?  顯然當 $b=0$ , $gcd(a,b)=a$ 時,$x=1$ , $y=0$ ;

  當 $a>b>0$ 時,設(shè)$$ax_1+by_1= gcd(a,b)$$$$bx_2+(a\;mod\;b)y_2=gcd(b,a\;mod\;b)$$

  根據(jù)樸素的歐幾里得算法,可得$$ax_1+by_1=bx_2+(a\;mod\;b)y_2$$$$ax_1+by_1=bx_2+(a- \lfloor?\frac{a}{b} \rfloor b)y_2$$$$ax_1+by_1=ay_2+b(x_2- \lfloor?\frac{a}{b}?\rfloor y_2)$$

  根據(jù)恒等定理得$$x_1=y_2$$$$y_1=x_2- \lfloor \frac{a}{b} \rfloor y_2$$

  這樣我們就得到了求解 $x_1,y_1$ 的方法:$x_1,y_1$ 的值基于 $x_2,y_2$

  上面的思想是以遞歸定義的,因為 $gcd$ 不斷的遞歸求解一定會有個時候 $b=0$ ,所以遞歸可以結(jié)束

int exgcd(int a,int b,int &x1,int &y1){if(!b){x1=1;y1=0;return a;}ans=exgcd(b,a%b,x1,y1);int t=x1;x1=y1;y1=t-a/b*y1;return ans; } View Code

?  下面是一些重要的結(jié)論

  結(jié)論一?設(shè) $a,b,c$ 為任意整數(shù),若方程 $ax+by=c$?的一組整數(shù)解為 $(x_0,y_0)$ ,則他們的任意整數(shù)解都可以寫成 $(x_0+kb',y_0-ka')$ ,其中 $a'=\frac{a}{gcd(a,b)}$ ,?$b'=\frac{b}{gcd(a,b)}$ , $k \in Z$

  結(jié)論二?設(shè) $a,b,c$ 為任意整數(shù),$g=gcd(a,b)$ ,方程 $ax+by=g$?的一組整數(shù)解為 $(x_0,y_0)$ ,則當 $c$ 是 $g$ 的倍數(shù)時,$ax+by=c$ 的一組整數(shù)解是 $(x_0 \frac{c}{g},y_0 \frac{c}{g})$ ;當 $c$ 不是 $g$ 的倍數(shù)時,無整數(shù)解

?

  然后洛谷上有道關(guān)于擴展歐幾里得很經(jīng)典的題 青蛙的約會 下面是AC代碼

#include <cstdio> #include <algorithm> using namespace std; #define ll long longll x,y,m,n,l; ll ans,x1,y1;ll exgcd(ll a,ll b,ll &x1,ll &y1){if(!b){x1=1;y1=0;return a;}ans=exgcd(b,a%b,x1,y1);ll t=x1;x1=y1;y1=t-a/b*y1;return ans; }int main(){scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);ll a=n-m,c=x-y;if(a<0){a=-a;c=-c;}exgcd(a,l,x1,y1);if(c%ans) printf("Impossible");else printf("%lld",((x1*(c/ans))%(l/ans)+(l/ans))%(l/ans));//處理負數(shù)的神奇方法 return 0; } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/Pedesis/p/10339787.html

總結(jié)

以上是生活随笔為你收集整理的欧几里得及扩展欧几里得算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲综合色婷婷 | 久久成人乱码欧美精品一区二区 | 中文精品一区二区三区 | 国产人成免费视频 | 欧美精品系列 | 动漫美女被吸乳奶动漫视频 | 国产精品成人在线 | 国产又粗又黄又爽又硬 | 中文字幕不卡在线 | 亚洲免费视频网站 | 91大奶 | 国产成人综合欧美精品久久 | 精品国产免费观看 | 国产精品网页 | 日韩午夜av | 日本中文字幕观看 | 操屁股视频| 一本色道久久综合狠狠躁的推荐 | 国产男女激情 | 欧美成人福利视频 | www,jizz,com| 日韩中文字幕网站 | 免费在线观看黄网站 | 国产一区二区免费 | 中文字幕乱码人妻二区三区 | 黄色av大片 | 变态另类一区二区 | 免费99精品国产自在在线 | 久久偷看各类女兵18女厕嘘嘘 | 制服丝袜手机在线 | 日本午夜小视频 | 色www| 成人久久久 | 亚洲免费中文 | 欧美综合社区 | 黄色工厂这里只有精品 | 欧美色老头old∨ideo | 日韩精品在线一区二区 | 精品一区视频 | av黄网站 | 亚洲性图一区二区 | 国产日韩欧美精品在线观看 | 日韩一区二区三区高清 | 日韩区一区二 | 屁屁影院一区二区三区 | 国产美女明星三级做爰 | 超碰激情 | 福利视频网站 | 久久精品aaaaaa毛片 | 99av在线| 大地资源高清播放在线观看 | 久草在在线 | 国产swag在线观看 | 国产精品网站入口 | 四虎av影院 | 一区二区日韩电影 | 福利91| 尤物视频最新网址 | 日韩亚洲第一页 | 亚洲午夜无码久久久久 | 欧美xxx在线观看 | 日韩久久一区二区三区 | 温柔女教师在线观看 | 久久人妻少妇嫩草av | 国产在线视频网站 | 国产在线精品视频 | 少妇高潮淫片免费观看 | 老司机成人免费视频 | 体内精视频xxxxx | 国产精品久久综合 | 久青草视频在线观看 | 亚洲天堂免费观看 | 色七七亚洲 | 日韩中文字幕免费 | 夜夜骚av一区二区三区 | 538在线精品视频 | 精品国偷自产国产一区 | 天堂在线亚洲 | 麻豆亚洲一区 | 波多野结衣之双调教hd | av优选在线观看 | 91精品久久久久 | 日本在线观看一区二区三区 | 欧洲久久久久久 | 亚洲精品网站在线 | 国产免费黄色小视频 | 亚洲天堂av网| 一级免费毛片 | 天天操天天添 | 一区二区三区观看 | 成年人在线观看 | а天堂中文在线官网 | 国内成人精品 | 亚洲黄色一区 | 亚洲午夜久久久久久久久久久 | 欧美成年人网站 | 精品国产一区二区三区日日嗨 | 欧美激情偷拍 | 影音av资源|