输入两个正整数m和n,求其最大公约数和最小公倍数。

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。


程序分析:利用辗除法。欧几里得算法

function gcd(a, b)
while b ≠ 0
  t ← b
  b ← a mod b
  a ← t
return a
public class 第六题计算最小公倍数和最大公约数 {
    public static void main(String[] args) {
        System.out.println("请输入两个正整数:");
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int n = in.nextInt();
        if(n <= 0 || m <= 0) {
            System.out.println("请输入正整数");
        }
        System.out.println("最大公约数为:" + gcd(m,n));
        System.out.println("最小公倍数为:" + lcm(m,n));
        in.close();
    }
    //计算最大公约数
    private static int gcd(int a, int b) {
        int temp = 0;
    while(b != 0) {
        temp = b;
        b = a % b;
        a = temp;
    }
    return a;
    }
    //计算最小公倍数
    private static int lcm(int a, int b) { 
        return a * b / gcd(a, b);
    }
}
原文地址:https://www.cnblogs.com/zjulanjian/p/10949593.html