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

   2025-02-15 9850
核心提示:要求两个数的最大公约数,可以使用欧几里得算法(辗转相除法)。public static int gcd(int a, int b) {if (b == 0) {return a;}

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

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

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言