• <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>

            天之道

            享受編程的樂趣。
            posts - 118, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            歐幾里得算法

            Posted on 2011-09-17 02:00 hoshelly 閱讀(2427) 評論(0)  編輯 收藏 引用 所屬分類: C
            輾轉相除法,又名歐幾里得算法,是求最大公約數的算法。

            原理及其詳細證明

              設兩數為a、b(b<a),用gcd(a,b)表示a,b的最大公約數,r=a mod b 為a除以b以后的余數,輾轉相除法即是要證明gcd(a,b)=gcd(b,r)。
              第一步:令c=gcd(a,b),則設a=mc,b=nc
              第二步:根據前提可知r =a-kb=mc-knc=(m-kn)c
              第三步:根據第二步結果可知c也是r的因數
              第四步:可以斷定m-kn與n互素【否則,可設m-kn=xd,n=yd,(d>1),則m=kn+xd=kyd+xd=(ky+x)d,則a=mc=(ky+x)dc,b=nc=ycd,故a與b最大公約數成為cd,而非c】
              從而可知gcd(b,r)=c,繼而gcd(a,b)=gcd(b,r)。
              證畢。

            用C表示則:

                 int gcd(int a,int b)
              {
              int temp;
              if(a<b)/*交換兩個數,使大數放在a上*/
              {
              temp=a;
              a=b;
              b=temp;
              }
              while(b!=0)/*利用輾除法,直到b為0為止*/
              {
              temp=a%b;
              a=b;
              b=temp;
              }
              return a;
              }




            一本久久a久久精品亚洲| 国产91久久综合| 久久精品人人做人人妻人人玩| 狠狠色综合网站久久久久久久高清 | 久久久久亚洲av无码专区| 色综合合久久天天给综看| 色综合久久夜色精品国产| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 亚洲av伊人久久综合密臀性色| 欧美性大战久久久久久| 久久久久高潮毛片免费全部播放 | 久久91精品国产91久久小草| 午夜天堂av天堂久久久| 国产亚洲精久久久久久无码AV| 国产精品久久久香蕉| 久久国产高清字幕中文| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久精品麻豆日日躁夜夜躁| 国内精品久久久久久久久电影网| 99久久精品免费观看国产| 亚洲AV无码久久精品色欲| 久久久久久噜噜精品免费直播| 久久这里只有精品18| 久久久久99这里有精品10| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 久久成人小视频| 久久亚洲高清综合| 久久久久久A亚洲欧洲AV冫| 夜夜亚洲天天久久| av午夜福利一片免费看久久| 中文国产成人精品久久不卡| 国内精品久久久久影院亚洲| 天天做夜夜做久久做狠狠| 亚洲国产精品无码久久青草| 久久精品不卡| 久久亚洲色一区二区三区| 久久久久一级精品亚洲国产成人综合AV区| 狠狠色丁香婷婷久久综合不卡| 99精品国产在热久久| 日本精品久久久中文字幕| 成人精品一区二区久久|