博客
关于我
输入两个正整数m 和n,求其最大公约数和最小公倍数 (Java经典编程案例)
阅读量:733 次
发布时间:2019-03-22

本文共 1031 字,大约阅读时间需要 3 分钟。

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

在编程中,求两个正整数的最大公约数(GCD)和最小公倍数(LCM)是一个常见的问题。本文将详细介绍一种高效的求解方法。

思路分析

最大公约数可以通过辗转相除法来求解。具体步骤如下:

  • 在循环中,只要除数不等于0,继续执行。
  • 将较大的数除以较小的数,取余数。
  • 将余数作为新的较小的数,将原来的较小的数作为新的较大的数。
  • 重复上述步骤,直到较小的数为0,此时较大的数即为最大公约数。
  • 最小公倍数则可以通过公式:最小公倍数 = 两个数的乘积 / 最大公约数来计算。
  • 代码示例

    以下是实现上述方法的Java代码:

    public class Example {  
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("请输入正整数m的值:");
    int m = scanner.nextInt();
    System.out.print("请输入正整数n的值:");
    int n = scanner.nextLong();
    int a = division(m, n);
    int b = (m / a) * n; // 可以直接使用 m * n / a 来计算
    System.out.println(m + "和" + n + "的最大公约数为:" + a + ",最小公倍数为:" + b);
    }
    public int division(int x, int y) {
    int temp;
    while (y != 0) {
    temp = x % y;
    x = y;
    y = temp;
    }
    return x;
    }
    }

    执行结果

    运行上述代码并输入两个正整数,程序将输出它们的最大公约数和最小公倍数。

    总结

    通过上述方法和代码,我们可以快速且高效地求解两个正整数的最大公约数和最小公倍数。这种方法不仅适用于编程,还可以在数学计算中得到实际应用。

    转载地址:http://vezwk.baihongyu.com/

    你可能感兴趣的文章
    OSPF 概念型问题
    查看>>
    OSPF 的主要目的是什么?
    查看>>
    SQL Server 存储过程分页。
    查看>>
    OSPF不能发现其他区域路由时,该怎么办?
    查看>>
    OSPF两个版本:OSPFv3与OSPFv2到底有啥区别?
    查看>>
    SQL Server 存储过程
    查看>>
    OSPF在大型网络中的应用:高效路由与可扩展性
    查看>>
    OSPF太难了,这份OSPF综合实验请每位网络工程师查收,周末弯道超车!
    查看>>
    OSPF技术入门(第三十四课)
    查看>>
    OSPF技术连载10:OSPF 缺省路由
    查看>>
    OSPF技术连载11:OSPF 8种 LSA 类型,6000字总结!
    查看>>
    OSPF技术连载12:OSPF LSA泛洪——维护网络拓扑的关键
    查看>>
    OSPF技术连载13:OSPF Hello 间隔和 Dead 间隔
    查看>>
    OSPF技术连载14:OSPF路由器唯一标识符——Router ID
    查看>>
    OSPF技术连载15:OSPF 数据包的类型、格式和邻居发现的过程
    查看>>
    OSPF技术连载16:DR和BDR选举机制,一篇文章搞定!
    查看>>
    OSPF技术连载17:优化OSPF网络性能利器——被动接口!
    查看>>
    OSPF技术连载18:OSPF网络类型:非广播、广播、点对多点、点对多点非广播、点对点
    查看>>
    OSPF技术连载19:深入解析OSPF特殊区域
    查看>>
    SQL Server 复制 订阅与发布
    查看>>