Java輸入兩個正整數m和n,求其最大公約數和最小公倍數。

import java.util.Scanner;

public class Test6 {

    //歐幾里德 輾轉相除法
    public static int gcd(int a,int b) {
        int r ;
        while(b != 0) {
            r = a % b ;
            a = b;
            b = r;
        }
        return a;
    }
    //最小公倍數的另一種解法
    public static int gcdtwo(int a,int b){
        while (a != b) {
            if (a > b ) {
                a = a -b;
            } else {
                b = b - a;
            }
        }
        return a;
    }
    //最大公約數
    public static int lcm(int a,int b) {
        return a * b /gcd(a,b);
    }
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("請輸入第一個數:");
        int a = input.nextInt();
        System.out.println("請輸入第二個數:");
        int b = input.nextInt();
        /*if (a < b) {
            a = a+b;
            b = a - b;
            a = a - b;
        }*/
        
        System.out.println(gcdtwo(a,b));
        System.out.println(lcm(a,b));
        
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章