JAVA算法---最大公约数和最小公倍数

来源:互联网 发布:linux 用户组权限 编辑:程序博客网 时间:2024/05/16 17:43

JAVA最大公约数和最小公倍数:递归法和循环法分别实现

package 测试包;public class 最大公约数2 {    public static void main(String[] args) {// 递归法测试        System.out.println("递归法测试:");        System.out.println(gcd(12, 3));        System.out.println(lcm(12, 3));// 循环法测试        System.out.println("循环法测试:");        System.out.println(gcd1(3, 12));        System.out.println(lcm1(12, 3));    }// 递归法求最大公约数    public static int gcd(int m, int n) {        if (n <= m)            if (m % n == 0)                return n;            else                return gcd(n, m % n);        else            return gcd(n, m);// 递归调用    }// 求最小公倍数    public static int lcm(int m, int n) {        return m * n / gcd(m, n);    }// 循环法求最大公约数    public static int gcd1(int m, int n) {        while (m % n != 0) {            int temp = m % n;            m = n;            n = temp;        }        return n;    }// 最小公倍数    public static int lcm1(int m, int n) {        return m * n / gcd1(m, n);    }}

运算结果:

递归法测试:312循环法测试:312
0 0
原创粉丝点击