117.info
人生若只如初见

java怎么求最小公倍数和最大公约数

要求两个数的最大公约数,可以使用欧几里得算法(辗转相除法)。

public static int gcd(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

要求两个数的最小公倍数,可以利用最大公约数求得:

public static int lcm(int a, int b) {
    return a * b / gcd(a, b);
}

以下是一个完整的例子:

public class Main {
    public static void main(String[] args) {
        int a = 12;
        int b = 18;
        
        int gcd = gcd(a, b);
        int lcm = lcm(a, b);
        
        System.out.println("最大公约数:" + gcd);
        System.out.println("最小公倍数:" + lcm);
    }
    
    public static int gcd(int a, int b) {
        if (b == 0) {
            return a;
        } else {
            return gcd(b, a % b);
        }
    }
    
    public static int lcm(int a, int b) {
        return a * b / gcd(a, b);
    }
}

输出结果为:

最大公约数:6
最小公倍数:36

未经允许不得转载 » 本文链接:https://www.117.info/ask/fea5aAzsLBQZeDFQ.html

推荐文章

  • Java中报negativearraysizeexception错误怎么解决

    NegativeArraySizeException是在Java中的一个运行时异常,表示尝试创建一个负数大小的数组。
    要解决NegativeArraySizeException错误,你需要确保你创建数组...

  • java如何定义全局变量数组

    在Java中,可以使用关键字 static 来定义全局变量数组。下面是一个示例:
    public class MyClass { // 定义全局变量数组 static int[] myArray = {1, 2, 3, ...

  • java工厂模式实现代码怎么写

    工厂模式是一种创建型设计模式,它提供了一种通过调用工厂方法来创建对象的方式,而不是直接使用 new 运算符来创建。工厂方法模式将对象的创建过程抽象出来,使得...

  • java怎么获取变量的数据类型

    在Java中,可以使用getClass()方法来获取变量的数据类型。该方法是Object类中的方法,因此可以用于任何Java对象。
    例如,假设有一个整数变量int num = 10;,...

  • Java怎么输出一百以内的素数

    要输出一百以内的素数,可以使用以下代码:
    public class PrimeNumbers { public static void main(String[] args) { // 打印2 System.out.print("2 "); //...

  • java stringformat对齐方法怎么用

    Java String.format()????????????,??????????????: ?????:
    ??"-"????????,????????????????:String.format("%-10s", "Hello") ??????"Hello"?????????10??...

  • kafka怎么查看topic生产者列表

    要查看Kafka中的Topic生产者列表,可以使用Kafka自带的命令行工具kafka-topics.sh,并使用–describe选项。
    以下是通过命令行查看Kafka Topic生产者列表的步...

  • linux怎么查看进程占用的端口

    在Linux中,可以使用以下命令来查看进程占用的端口: 使用netstat命令: netstat -tunlp | grep 该命令将列出正在监听的TCP和UDP端口,并查找匹配进程ID或进程名...