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

            求兩個或N個數的最大公約數(gcd)和最小公倍數(lcm)的較優算法

            //兩個數的最大公約數--歐幾里得算法

            int gcd(int a, int b)

            {

                 
            if (a < b)

                      swap(a, b);

                 
            if (b == 0)

                       
            return a;

                  
            else

                        
            return gcd(b, a%b);

            }



            //n個數的最大公約數算法

            //說明: 

            //把n個數保存為一個數組

            //參數為數組的指針和數組的大小(需要計算的數的個數)

            //然后先求出gcd(a[0],a[1]), 然后將所求的gcd與數組的下一個元素作為gcd的參數繼續求gcd

            //這樣就產生一個遞歸的求ngcd的算法

             

            int ngcd(int *a, int n)

            {

                
            if (n == 1)  return *a;

                
            return gcd(a[n-1], ngcd(a, n-1));

            }


             
            //兩個數的最小公倍數(lcm)算法

            //lcm(a, b) = a*b/gcd(a, b)

            int lcm(int a, int b)

            {

                    
            return a*b/gcd(a, b);

            }


             

            //n個數的最小公倍數算法

            //算法過程和n個數的最大公約數求法類似

            //求出頭兩個的最小公倍數,再將欺和大三個數求最小公倍數直到數組末尾

            //這樣產生一個遞歸的求nlcm的算法

            int nlcm(int *a, int n)

            {

                  
            if (n == 1)

                        
            return *a;

                  
            else

                        
            return lcm(a[n-1], nlcm(a, n-1));

            }

            posted on 2010-10-02 14:20 Vontroy 閱讀(3574) 評論(1)  編輯 收藏 引用 所屬分類: 數論

            評論:
            # re: 求兩個或N個數的最大公約數(gcd)和最小公倍數(lcm)的較優算法[未登錄] 2011-01-23 18:18 | 路人甲
            初學ACM....算法謝啦~雖然暫時難以理解....研究下  回復  更多評論
              
            99久久这里只有精品| 嫩草伊人久久精品少妇AV| 精品视频久久久久| 日韩人妻无码一区二区三区久久99| 亚洲国产精品无码久久九九| 新狼窝色AV性久久久久久| 久久青草国产手机看片福利盒子| 久久这里只有精品视频99| 国产精品久久久久久久久| 久久这里只有精品视频99| 久久久亚洲欧洲日产国码aⅴ| 青青草原综合久久大伊人精品| 一本久久免费视频| 色噜噜狠狠先锋影音久久| 99精品久久精品一区二区| 狠色狠色狠狠色综合久久| 久久精品国产99国产精品亚洲| 国产成人精品久久亚洲高清不卡| 久久久久无码精品国产| 久久毛片一区二区| 性欧美大战久久久久久久 | 香蕉久久AⅤ一区二区三区| 国产精品久久久久久| 成人免费网站久久久| 99久久精品免费看国产一区二区三区 | 热RE99久久精品国产66热| 精品免费久久久久久久| 亚洲欧美日韩中文久久| 香蕉久久久久久狠狠色| 日韩欧美亚洲国产精品字幕久久久| 99久久婷婷国产综合精品草原| 国产成人精品久久免费动漫 | 色综合久久久久网| 色综合合久久天天综合绕视看| 91精品国产色综久久 | 69国产成人综合久久精品| 久久国产精品99国产精| 久久久久亚洲精品天堂| 国产精品一区二区久久国产| 99久久精品毛片免费播放| 国产精品久久99|