最大公约数与最小公倍数

最大公约数(Greatest Common Divisor,GCD),也称最大公因数(Highest Common Factor,HCF)、最大公因子,是一种数学概念,指两个或多个整数共有约数中最大的一个。
最大公约数的求解方法有质因数分解法、短除法、辗转相除法、更相减损法等,与其相对应的概念是最小公倍数。

两个数最小公倍数等于他们的乘积除以最大公约数

先看效果图

 实现代码如下

import java.util.Scanner;

//求最大公约数和最小公倍数
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个数:");
        int num1 = scanner.nextInt();
        System.out.print("请输入第二个数:");
        int num2 = scanner.nextInt();
        //可以用三元运算符或者Math.max方法
        int max = Math.max(num1, num2); // 定义最大值
        // 定义最小值
        int min = Math.min(num1, num2);
        int maxNumber = 0;//定义最大公约数用于接收最大公约数用于后面的方法二

        //求最大公约数,最大公约数不大于最小的那个数
        for (int i = min; i >=1 ; i--) {
            if (num1%i==0 && num2%i==0){
                System.out.println("最大公约数是:"+i);//从最大的遍历,找到便结束进程
                maxNumber = i;    //接收最大公约数用于方法二
                break;
            }
        }

        //求最小公倍数,最小公倍数不小于最大的那个数,不大于他们两个乘积
        for (int j = max; j <=(num1*num2); j++) {
            if (j%num1==0 && j%num2==0) {
                System.out.println("方法一:最小公倍数是"+j);
                break;
            }
        }

        //方法二最小公倍数其实就是两个数乘积除以最大公约数
        System.out.println("方法二:最小公倍数是"+(num1*num2)/maxNumber);

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值