青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我叫張小黑
張小黑的掙扎生活
posts - 66,  comments - 109,  trackbacks - 0

歐幾里德算法

歐幾里德算法又稱輾轉(zhuǎn)相除法,用于計算兩個整數(shù)a,b的最大公約數(shù)。其計算原理依賴于下面的定理:

定理:gcd(a,b) = gcd(b,a mod b)

 證明:a可以表示成a = kb + r,則r = a mod b
假設d是a,b的一個公約數(shù),則有
d|a, d|b,而r = a - kb,因此d|r
因此d是(b,a mod b)的公約數(shù)
假設d 是(b,a mod b)的公約數(shù),則
d | b , d |r ,但是a = kb +r
因此d也是(a,b)的公約數(shù)
因此(a,b)和(b,a mod b)的公約數(shù)是一樣的,其最大公約數(shù)也必然相等,得證

歐幾里德算法就是根據(jù)這個原理來做的,其算法用C++語言描述為:

    void swap(int & a, int & b)
    {
        int c = a;
        a = b;
        b = c;
    }
    int gcd(int a,int b)
    {
        if(0 == a )
        {
            return b;
        }
        if( 0 == b)
        {
            return a;
        }
        if(a > b)
        {
            swap(a,b);
        }
        int c;
        for(c = a % b ; c > 0  ; c = a % b)
        {
            a = b;
            b = c;
        }
        return b;
    }

模P乘法逆元

對于整數(shù)a、p,如果存在整數(shù)b,滿足ab mod p =1,則說,b是a的模p乘法逆元。

定理:a存在模p的乘法逆元的充要條件是gcd(a,p) = 1

 證明:
首先證明充分性
如果gcd(a,p) = 1,根據(jù)歐拉定理,aφ(p) ≡ 1 mod p,因此
顯然aφ(p)-1 mod p是a的模p乘法逆元。
再證明必要性
假設存在a模p的乘法逆元為b
ab ≡ 1 mod p
則ab = kp +1    ,所以1 = ab - kp
因為gcd(a,p) = d
所以d | 1
所以d只能為1

擴展歐幾里德算法

擴展歐幾里德算法不但能計算(a,b)的最大公約數(shù),而且能計算a模b及b模a的乘法逆元,用C語言描述如下:

 int    gcd(int    a,    int    b    ,    int&    ar,int    &    br)
{
int    x1,x2,x3;
int    y1,y2,y3;
int    t1,t2,t3;
if(0    ==    a)
{//有一個數(shù)為0,就不存在乘法逆元
             ar    =    0;
             br    =    0    ;
             return    b;
}
if(0    ==    b)
{
             ar    =    0;
             br    =    0    ;
             return    a;
}
x1    =    1;
x2    =    0;
x3    =    a;
y1    =    0;
y2    =    1;
y3    =    b;
int    k;
for(    t3    =    x3    %    y3    ;    t3    !=    0    ;        t3    =    x3    %    y3)
{
k    =    x3    /    y3;
t2    =    x2    -    k    *    y2;
t1    =    x1    -    k    *    y1;
x1    =    y1;
x1    =    y2;
x3    =    y3;
y1    =    t1;
y2    =    t2;
y3    =    t3;
}
if(    y3    ==    1)
{
//有乘法逆元
ar    =    y2;
br    =    x1;
return    1;
}else{
        //公約數(shù)不為1,無乘法逆元
         ar    =    0;
         br    =    0;
         return    y3;
}
}

擴展歐幾里德算法對于最大公約數(shù)的計算和普通歐幾里德算法是一致的。計算乘法逆元則顯得很難明白。我想了半個小時才想出證明他的方法。

首先重復拙作整除中的一個論斷:

如果gcd(a,b)=d,則存在m,n,使得d = ma + nb,稱呼這種關系為a、b組合整數(shù)d,m,n稱為組合系數(shù)。當d=1時,有 ma + nb = 1 ,此時可以看出m是a模b的乘法逆元,n是b模a的乘法逆元。

為了證明上面的結(jié)論,我們把上述計算中xi、yi看成ti的迭代初始值,考察一組數(shù)(t1,t2,t3),用歸納法證明:當通過擴展歐幾里德算法計算后,每一行都滿足a×t1 + b×t2 = t3

 第一行:1 × a + 0 × b = a成立
第二行:0 × a + 1 × b = b成立
假設前k行都成立,考察第k+1行
對于k-1行和k行有
t1(k-1)    t2(k-1)  t3(k-1)
t1(k)      t2(k)    t3(k)
分別滿足:
t1(k-1) × a + t2(k-1) × b = t3(k-1)
t1(k)   × a + t2(k)   × b = t3(k)
根據(jù)擴展歐幾里德算法,假設t3(k-1) = j t3(k) + r
則:
t3(k+1) = r
t2(k+1) = t2(k-1) - j × t2(k)
t1(k+1) = t1(k-1) - j × t1(k)
則
t1(k+1) × a + t2(k+1) × b
=t1(k-1) × a - j × t1(k) × a +
t2(k-1) × b - j × t2(k) × b
= t3(k-1) - j t3(k) = r
= t3(k+1)
得證

因此,當最終t3迭代計算到1時,有t1× a + t2 × b = 1,顯然,t1是a模b的乘法逆元,t2是b模a的乘法逆元。

posted on 2008-03-19 00:17 zoyi 閱讀(4338) 評論(1)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


歡迎光臨 我的白菜菜園

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(8)

隨筆分類

隨筆檔案

文章檔案

相冊

acmer

online judge

隊友

技術(shù)

朋友

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美视频一区二区三区| 一区二区免费在线观看| 亚洲精品视频在线播放| 18成人免费观看视频| 极品尤物一区二区三区| 国外视频精品毛片| 狠狠做深爱婷婷久久综合一区| 国产亚洲女人久久久久毛片| 国产视频一区在线观看一区免费| 国产亚洲一区二区在线观看| 国产日韩欧美高清免费| 国产日韩欧美亚洲一区| 国产亚洲一区二区在线观看| 在线欧美日韩国产| 日韩视频―中文字幕| 亚洲自拍偷拍一区| 久久人人超碰| 亚洲激情一区二区| 亚洲激情欧美| 欧美一区二区在线观看| 欧美国产综合视频| 欧美视频在线观看| 久久精品国产一区二区电影| 欧美午夜精品电影| 国产日本欧洲亚洲| 久久这里只精品最新地址| 久久九九久精品国产免费直播| 亚洲午夜精品网| 六月丁香综合| 欧美一区二区播放| 欧美激情亚洲国产| 午夜国产精品影院在线观看| 国产精品亚洲不卡a| 久久婷婷蜜乳一本欲蜜臀| 99热在线精品观看| 欧美日韩亚洲在线| 一本大道久久a久久精品综合| 亚洲黄色av| 欧美亚洲成人网| 午夜视频在线观看一区二区三区| 久久夜色精品一区| 国产在线欧美| 美女视频黄a大片欧美| 国产精品男gay被猛男狂揉视频| 一区一区视频| 欧美一二三区精品| 亚洲激情在线激情| 欧美在线看片| 国产精品爽爽爽| 中文日韩在线| 亚洲高清三级视频| 久久裸体艺术| 国产尤物精品| 久久精品国产99国产精品澳门| 亚洲第一狼人社区| 久久精品国产亚洲精品| 国内精品伊人久久久久av一坑| 欧美精品www| 亚洲欧美日本视频在线观看| 国产精品视屏| 国产精品一区三区| 一区二区三区三区在线| 亚洲欧洲综合| 欧美成人综合网站| 亚洲激情国产精品| 另类天堂av| 久久精品日产第一区二区| 国产一区再线| 免费看av成人| 欧美aⅴ99久久黑人专区| 亚洲欧洲三级电影| 亚洲黄色影片| 欧美日韩系列| 午夜激情综合网| 欧美一区久久| 最新日韩av| 一本大道久久a久久精二百| 国产精品毛片大码女人| 香蕉久久夜色精品| 性欧美8khd高清极品| 国产午夜精品视频免费不卡69堂| 久久国产精品亚洲77777| 亚洲国产另类 国产精品国产免费| 99精品99| 亚洲少妇最新在线视频| 国产伦精品一区二区三| 久久久综合免费视频| 另类欧美日韩国产在线| 日韩视频在线观看国产| 在线一区免费观看| 国语自产精品视频在线看一大j8| 欧美成人tv| 欧美亚州一区二区三区| 久久九九久久九九| 欧美成人精品1314www| 午夜国产精品视频| 久久久久9999亚洲精品| 亚洲一二三区在线观看| 久久久久久9| 亚洲女女做受ⅹxx高潮| 久久久久久网站| 亚洲图中文字幕| 久久久九九九九| 亚洲电影在线| 亚洲专区一区| 美女国产一区| 欧美在线影院| 欧美日韩精品欧美日韩精品 | 美女视频网站黄色亚洲| 亚洲少妇中出一区| 久久免费黄色| 欧美一区二区视频观看视频| 奶水喷射视频一区| 久久精品99国产精品| 欧美欧美午夜aⅴ在线观看| 久久一区二区三区四区| 国产精品系列在线| 99精品福利视频| 雨宫琴音一区二区在线| 亚洲欧美日本在线| 亚洲一区一卡| 欧美日韩国产综合一区二区| 免费成人网www| 国产女人水真多18毛片18精品视频| 91久久精品国产91性色tv| 在线看片一区| 久久久国产成人精品| 欧美一区二区在线播放| 国产精品久久久久久久久久久久久久| 亚洲经典视频在线观看| 亚洲欧洲日产国产网站| 欧美sm重口味系列视频在线观看| 老司机精品视频网站| 精品av久久707| 先锋影音一区二区三区| 久久国产婷婷国产香蕉| 国产一区99| 久久精品国产精品亚洲综合| 久久久久国产成人精品亚洲午夜| 国产精品视频自拍| 午夜亚洲性色福利视频| 久久大综合网| 国内外成人免费激情在线视频| 久久精品国产久精国产思思| 米奇777在线欧美播放| 亚洲国产精选| 欧美精品自拍| 亚洲免费av观看| 午夜精品一区二区在线观看| 小处雏高清一区二区三区| 国产精品呻吟| 香蕉av福利精品导航| 久久久久久婷| 在线播放豆国产99亚洲| 免费欧美日韩国产三级电影| 亚洲大胆美女视频| 99国产精品99久久久久久| 欧美日韩午夜在线| 亚洲欧美国产一区二区三区| 久久久久久亚洲精品杨幂换脸 | 欧美国产日本高清在线| 亚洲精品一区二区三区不| 欧美日韩视频专区在线播放| 午夜视频在线观看一区二区三区 | 亚洲视频在线观看免费| 国产精品色午夜在线观看| 欧美在线视频一区二区| 亚洲国产精品久久久久秋霞蜜臀 | 99re在线精品| 欧美一区二区三区四区在线观看地址| 狠狠入ady亚洲精品经典电影| 免费久久99精品国产自| av不卡免费看| 蜜乳av另类精品一区二区| 中文在线资源观看网站视频免费不卡| 国产免费观看久久| 欧美国产日产韩国视频| 欧美一区二区视频观看视频| 日韩亚洲在线| 免费在线亚洲| 篠田优中文在线播放第一区| 亚洲欧洲视频在线| 国产在线精品一区二区夜色| 欧美日韩在线三级| 久久综合电影| 欧美亚洲视频一区二区| 99视频精品免费观看| 欧美韩日一区二区| 久久久激情视频| 亚洲四色影视在线观看| 亚洲第一在线视频| 国产女精品视频网站免费| 欧美日韩中文字幕在线视频| 久久亚洲精品中文字幕冲田杏梨| 亚洲图片在区色| 亚洲国产精品一区| 久久综合狠狠综合久久综合88 | 欧美精品乱人伦久久久久久| 久久精品欧美| 欧美一区二区视频在线观看2020|