Java刷题日记:第三天:输入两个数,求其最大公约数和最小公倍数

本文介绍了如何求解两个正整数的最大公约数(GCD)和最小公倍数(LCM)。通过循环算法,当输入的两个数m和n满足m%n等于0时,n即为最大公约数;最小公倍数可以通过两数之积除以最大公约数得到。文章提供了Java代码示例,演示了这一过程并给出了4和6的最大公约数为2,最小公倍数为12的计算结果。
摘要由CSDN通过智能技术生成

题目:

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

解题思路:

m和n的最大公约数指m与n的所有公约数中最大的那个公约数,比如4和6的最大公约数是2
正整数m和n的最小公倍数是指m和n的所有公倍数中最小的那个。比如4和6的最小公倍数是12。
循环k=i%j
若k=0,则j即为两数的最大公约数
若k≠0,则i=j,j=k,再次循环
最小公倍数=两数相乘除以最小公约数

代码实例:

public class Demo6 {
    //输入两个正整数m和n,求其最大公约数和最小公倍数。
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        System.out.print("请输入两个正整数:");
        int m = reader.nextInt();
        int n = reader.nextInt();
        gong(m,n);
    }
    public static void gong(int m, int n) {
        int k,i;
        int a,b;
        a = m;b = n;
        for (int x = 0;;x ++){
            k = m % n;
            if (k == 0) {
                break;
            }
            else {
                i = n;
                n = k;
                m = i;
            }
        }System.out.println(n+"是"+a+"和"+b+"的最大公约数");
        int z;
        z = (a * b) / n;
        System.out.println(z+"是"+a+"和"+b+"的最小公倍数");
    }

输出结果:

请输入两个正整数:4 6
2是4和6的最大公约数
12是4和6的最小公倍数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值