展轉相除(歐幾里德算法(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); }