展轉相除法計算最大公約數

展轉相除法:展轉相除法是求兩個天然數的最大公約數的一種方法,也叫歐幾里德算法。 過程: java

image.png

用展轉相除法求幾個數的最大公約數,能夠先求出其中任意兩個數的最大公約數,再求這個最大公約數與第三個數的最大公約數,依次求下去,直到最後一個數爲止。最後所得的那個最大公約數,就是全部這些數的最大公約數。算法

程序實現:spa

/** * Created by hongcaixia on 2019/10/6. */
public class GreatestCommonDivisor {

    public static void main(String[] args) {
        int maxComm = getMaxComm(319, 377);
        //29
        System.out.println("最大公約數是:"+maxComm);
    }

    public static int getMaxComm(int m,int n){
        if(m<=0 || n<=0){
            System.out.println("輸入數據錯誤!");
        }

        if(m<n){
            int temp = 0;
            //m,n交換
            temp = m;
            m = n;
            n = temp;
        }
        int r = m%n;
        while (r!=0){
            m = n;
            n = r;
            r = m%n;
        }
        return n;
    }
}
複製代碼
相關文章
相關標籤/搜索