• <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 閱讀(2415) 評論(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;
              }




            99久久99这里只有免费的精品| 性做久久久久久久久| 久久国产精品99久久久久久老狼 | 国产亚洲精久久久久久无码| 69SEX久久精品国产麻豆| 嫩草影院久久国产精品| 久久精品人人做人人爽电影| 久久九九青青国产精品| 久久狠狠爱亚洲综合影院 | 久久一区二区三区99| 麻豆AV一区二区三区久久| 久久久国产一区二区三区| 亚洲综合伊人久久大杳蕉| 国产毛片久久久久久国产毛片| 亚洲国产另类久久久精品黑人 | 国内高清久久久久久| 9999国产精品欧美久久久久久 | 久久久免费观成人影院| 九九精品99久久久香蕉| 久久午夜福利电影| 91精品日韩人妻无码久久不卡| 无码AV波多野结衣久久| 亚洲午夜久久久影院伊人| 欧美激情精品久久久久久| 好久久免费视频高清| 97久久超碰成人精品网站| 久久综合狠狠综合久久| 色综合久久久久综合99| 久久精品国产精品亚洲人人 | 久久精品中文字幕一区| 国产成人精品久久亚洲高清不卡 | 久久久久免费看成人影片| 热久久最新网站获取| 精品久久久久久久久免费影院| 香蕉久久影院| 伊人久久综合无码成人网 | 办公室久久精品| 色综合色天天久久婷婷基地| 国产精品免费久久久久影院| 久久香蕉国产线看观看99| 老司机国内精品久久久久|