求最大公約數和最小公倍數

展轉相除(歐幾里德算法(m>n))算法


一、m被n除獲得餘數r(0≤r ≤n) r=m%ncode


二、若r=0,則算法結束,n爲最大公約數,不然作3gc


三、m=n , n=r , 回到1while


<!-- lang: cpp -->
    //最大公約數
int gcd(int m, int n){
     int r=0;
    while ( r=m%n )
      {     m=n;     n=r ;
        } 
      return n;
       }

<!-- lang: cpp -->
   //最小公倍數
int lcm (int m,int n){
     return m*n/gcd(m,n);
    }
相關文章
相關標籤/搜索