求最小公倍數

介紹:

求兩個數的最小公倍數

思路:

最小公倍數有幾種求法,我選擇先求最大公約數,然後利用最小公倍數=(num1*num2)/最大公約數的方法來求
import java.util.Scanner;
public class 最小公倍數 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int x=input.nextInt();
        int y = input.nextInt();
        minNum(x,y);
    }

    private static void minNum(int x, int y) {
        if(x==0&&y==0){
            System.out.println("不能兩者都爲0");
        }else{
            int temp,a,b;
            if(x<y){//當x<y時,將x、y換位置。使x>y,因爲求最大公約數是取餘,前面的數要比後面的大
                temp = y;
                y = x;
                x = temp;
            }
            a = x;
            b = y;
            while(b!=0){
                //第一次判斷的時候,如果b==0,那麼說明最大公約數就是0;
                //第一次過後,b就代表的是餘數了,餘數如果不爲0,說明還沒有整除,需要一直循環,直到能夠整除。
                //當b==0時,上一個b的值賦值給了a。所以最大公約數現在是a。
                temp = a%b;
                a = b;
                b = temp;
            }
            System.out.println("最大公約數爲"+a);
            System.out.println("最小公倍數爲"+(x*y)/a);
        }
    }
}

總結:

這道題其實就是對輾轉相除法的一個實現,利用輾轉相除法來計算最大公約數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章