博客
关于我
输入两个正整数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/

    你可能感兴趣的文章
    ORA-12514: TNS:listener does not currently know of service问题原因
    查看>>
    ora-12541:tns:no listener
    查看>>
    【docker知识】联合文件系统(unionFS)原理
    查看>>
    ORACEL学习--理解over()函数
    查看>>
    ORAchk-数据库健康检查
    查看>>
    oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
    查看>>
    Oracle 10g ORA-01034: ORACLE not available 错误
    查看>>
    oracle 10g的安装配置
    查看>>
    Oracle 11.2.0.4 x64 RAC修改public/private/vip/scan地址
    查看>>
    Oracle 11G INDEX FULL SCAN 和 INDEX FAST FULL SCAN 对比分析
    查看>>
    viewpage listview gridview加载本地大图多图OOM处理办法
    查看>>
    Oracle 11g UNDO表空间备份增强
    查看>>
    Oracle 11g 使用RMAN备份数据库
    查看>>
    Oracle 11g 单实例安装文档
    查看>>
    Oracle 11g 操作ASM权限问题
    查看>>
    Oracle 11g 数据类型
    查看>>
    Oracle 11g 编译使用BBED
    查看>>
    oracle 11g 静默安装
    查看>>
    Oracle 11gR2学习之二(创建数据库及OEM管理篇)
    查看>>
    Oracle 11gR2构建RAC之(2)--配置共享存储
    查看>>