两个数的最大公约数和最小公倍数

2021-06-11  本文已影响0人  啷里个啷里个啷个里个啷
/*

题目:
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
比如:12 和 20 的最大公约数是 4,最小公倍数是 60;
说明:break关键字的使用。
*/

import java.util.Scanner;

class ForTest1{

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个正整数:");
        int num1 = scanner.nextInt();
        System.out.println("请输入第二个正整数:");
        int num2 = scanner.nextInt();

        // 求最小公倍数
        // 最小公倍数最大是 :num1 * num2;
        // 最小公倍数最小是 :num1 和 num2 中最大的数;

        int index1 = (num1 > num2) ? num1 : num2;
        int indexMax1 = num1 * num2;

        for (int i = index1; index1 <= indexMax1;i++ ) {
            if ((i % num1 == 0) && (i % num2 == 0)) {
                System.out.println(num1 + "和" + num2 + "的最小公倍数是 " + i);
                break;
            }
        }

        // 求最大公约数
        // 最大公约数 最大是 :num1 和 num2 中最小的数;
        // 最大公约数 最小是 :2;

        int index2 = (num1 < num2) ? num1 : num2;
        for (int i = index2; i >= 1 ;i-- ) {
            // System.out.println("i = " + i);
            if ((num1 % i == 0) && (num2 % i == 0)) {
                System.out.println(num1 + "和" + num2 + "的最大公约数是 " + i);
                break;
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读