java实现两个正整数之间的最大公约数和最小公倍数

 核心原理:欧几里得算法

代码如下

package demo;

import java.util.Scanner;

public class Demo {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        System.out.println("最大公约数为:" + gcd(a, b));
        System.out.println("最小公倍数为:" + gcdMinNum(a, b));

    }

    private static int gcd(int p, int q) {
        if (q == 0) {
            return p;
        }
        int r = p % q;
        return gcd(q, r);
    }

    private static int gcdMinNum(int p, int q) {
        return p * q / gcd(p, q);
    }
    
}

先求两数的最大公约数,则最大公倍数皆为两数成绩除以最大公约数。

posted @ 2020-03-13 10:29  爱李丫头  阅读(614)  评论(0编辑  收藏  举报