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

我叫張小黑
張小黑的掙扎生活
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>
            久久精品国产亚洲5555| 欧美怡红院视频一区二区三区| 亚洲第一精品福利| 国产精品免费观看在线| 久久亚洲精品一区二区| 小辣椒精品导航| 一区二区三区视频在线| 国产精品黄色| 欧美久久视频| 欧美日韩精品一区二区在线播放| 欧美电影美腿模特1979在线看 | 亚洲国产三级网| 亚洲伊人网站| 亚洲午夜伦理| 亚洲一区二区黄| 亚洲一区二区欧美| 亚洲综合日韩在线| 欧美一区二区三区在线| 久久精品成人| 老色鬼精品视频在线观看播放| 久久精品国产欧美激情| 久久这里只有| 亚洲欧洲精品一区| 亚洲片区在线| 亚洲一区三区电影在线观看| 亚洲少妇中出一区| 久久久99爱| 欧美日韩视频免费播放| 国产精品揄拍一区二区| 精品999久久久| 亚洲三级视频在线观看| 亚洲视频电影在线| 久久九九99视频| 亚洲国产欧美国产综合一区| 99热在线精品观看| 校园春色国产精品| 久久精品卡一| 欧美久久久久久久| 国产一区二区三区黄视频| 亚洲大胆女人| 日韩视频一区二区三区| 亚洲专区一区二区三区| 毛片av中文字幕一区二区| 亚洲精品国产精品乱码不99 | 在线亚洲激情| 久久成人18免费网站| 免费成人av在线| 国产精品视频久久久| 亚洲国产91| 亚洲一区影音先锋| 免费精品99久久国产综合精品| 亚洲精品日韩欧美| 翔田千里一区二区| 亚洲精品国产品国语在线app | 一区二区三区在线观看视频 | 欧美日韩一区二区国产| 激情文学综合丁香| 亚洲伊人一本大道中文字幕| 老司机午夜免费精品视频| 久久综合网络一区二区| 亚洲美女网站| 欧美gay视频| 在线欧美日韩| 久久久久久穴| 99视频在线精品国自产拍免费观看 | 国产女优一区| 性亚洲最疯狂xxxx高清| 亚洲毛片网站| 欧美成人蜜桃| 亚洲国产一二三| 久久婷婷国产综合精品青草| 亚洲欧美成人在线| 欧美激情一区在线观看| 91久久精品一区| 欧美大胆a视频| 麻豆精品精华液| 亚洲国产精品久久人人爱蜜臀| 久久精品视频在线观看| 亚洲一区二区三区高清| 国产精品国产三级国产专播品爱网| 亚洲激情婷婷| 亚洲精品1区2区| 欧美精品999| 亚洲午夜精品一区二区三区他趣| 亚洲精品一区二区三区婷婷月| 欧美激情一区二区三区高清视频| 99精品久久| 一本色道久久88综合亚洲精品ⅰ| 欧美午夜精品久久久久久浪潮| 99伊人成综合| 一二美女精品欧洲| 国产精品午夜av在线| 久久国产精品99国产| 久久国产精品久久国产精品| 国产视频亚洲精品| 欧美成人综合| 欧美日韩在线不卡| 久久精品视频导航| 欧美激情在线| 午夜一区二区三区不卡视频| 欧美一级久久久久久久大片| 极品尤物一区二区三区| 欧美chengren| 欧美日本免费| 欧美一区亚洲| 久久亚洲综合色| 欧美一区二区| 欧美日韩亚洲一区二区三区在线观看 | 亚洲欧美在线一区二区| 午夜精品久久久久99热蜜桃导演| 激情综合久久| 亚洲少妇在线| 日韩系列欧美系列| 久久av一区二区| 亚洲小说春色综合另类电影| 久久久99久久精品女同性| 国产精品99久久久久久久女警| 亚洲一区国产视频| 亚洲精品黄色| 亚洲男人第一网站| 亚洲午夜视频| 老牛影视一区二区三区| 香蕉久久一区二区不卡无毒影院| 久久精品99无色码中文字幕| 亚洲国内欧美| 亚洲精品麻豆| 国产亚洲精品bt天堂精选| 老牛影视一区二区三区| 欧美在线看片| 午夜精品一区二区在线观看| 欧美好吊妞视频| 欧美福利视频一区| 欧美精品在线观看| 最新中文字幕亚洲| 欧美日韩国内| 欧美一区2区三区4区公司二百| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美在线视频观看| 久久精品一区二区三区四区| 亚洲国产美女| 中文精品视频一区二区在线观看| 亚洲乱码国产乱码精品精| 一区二区三欧美| 国产一区二区成人久久免费影院| 欧美成人免费观看| 欧美日韩高清免费| 亚洲美女诱惑| 亚洲免费在线视频一区 二区| **网站欧美大片在线观看| 亚洲久久成人| 亚洲高清一二三区| 亚洲自拍偷拍一区| 91久久精品网| 在线亚洲观看| 亚洲福利电影| 亚洲永久在线观看| 一本久久a久久精品亚洲| 性久久久久久久久| 在线亚洲欧美视频| 亚洲欧美在线视频观看| 久久久久国色av免费看影院| 欧美精品一区二区在线播放| 免费成人在线视频网站| 亚洲国产日韩在线一区模特| 亚洲欧美综合国产精品一区| 亚洲精品一区二区三区四区高清| 香蕉久久精品日日躁夜夜躁| 日韩天堂在线观看| 久久久久久电影| 亚洲一区久久久| 欧美jjzz| 亚洲黄色一区二区三区| 欧美手机在线视频| 亚洲国产精品嫩草影院| 1024国产精品| 久久国产88| 欧美激情精品久久久六区热门| 国产欧美日韩精品丝袜高跟鞋| 日韩视频在线一区二区| 亚洲国产成人精品久久| 亚洲欧洲日本专区| 性感少妇一区| 欧美日韩一区在线视频| 99re6这里只有精品| 樱桃国产成人精品视频| 欧美视频网站| 亚洲免费观看| 亚洲一区视频| 欧美破处大片在线视频| 欧美一区综合| 老司机精品福利视频| 国产日韩精品一区二区浪潮av| 99精品久久久| 亚洲成色999久久网站| 欧美一级欧美一级在线播放| 欧美亚日韩国产aⅴ精品中极品| 99热在这里有精品免费| 性欧美xxxx视频在线观看| 亚洲视频欧洲视频| 国产精品久久久久久久第一福利|