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

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
题目分析:
要求两个数的最大公约数,最方便的逻辑就是辗转相除法
1.用两个原数中最大的数,除以最小的数,如果余数不为零,则在两个原数和余数之间选择两个最小的数。
2.重复上面的步骤,直到余数为零的时候,最小除数为两个原数的最大公约数
求两个数的最小公倍数,两个数的乘积等于这两个数的最大公约数与最小公倍数的积。
即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,
然后用上述公式求出它们的最小公倍数。

public static void main(String[] args) {
        //使用键盘输入,需要Scanner类,需要导入包
        //java.util.Scanner;
        Scanner sc =new Scanner(System.in) ;
        System.out.println("输入两个正整数:");
        int number1=sc.nextInt();
        int number2 =sc.nextInt();
        System.out.println(number1+""+number2+"的最大公约数为"+maxGY(number1,number2));
        System.out.println(number1+""+number2+"的最小公倍数为"+minGB(number1,number2));
    }
    //分析上面的结果,所以先求出最大公约数
    public static int maxGY(int number1,int number2){
        //如果两个数相等,他们的最大公约数是他们本身,不再判断。
        if (number1 == number2) {
            return number1;
        }
        //如果他们不相等,则进入循环
        //由于无论怎样都要先进行比较运算,所以用do-while判断
        do{
            if(number1

结果为:
JAVA版本:输入两个正整数m和n,求其最大公约数和最小公倍数。_第1张图片

你可能感兴趣的:(java初级)