java编写求最大公约数和最小公倍数的程序。求大神帮忙

Python020

java编写求最大公约数和最小公倍数的程序。求大神帮忙,第1张

public class GCDLCM {    // 最大公约数

    public static int get_gcd(int a, int b) {        int max, min

        max = (a > b) ? a : b

        min = (a < b) ? a : b        if (max % min != 0) {            return get_gcd(min, max % min)

        } else

            return min

    }    // 最小公倍数

    public static int get_lcm(int a, int b) {        return a * b / get_gcd(a, b)

    }    public static void main(String[] args) {

        Scanner input = new Scanner(System.in)        int n1 = input.nextInt()        int n2 = input.nextInt()

        System.out.println("(" + n1 + "," + n2 + ")" + "=" + get_gcd(n1, n2))

        System.out.println("[" + n1 + "," + n2 + "]" + "=" + get_lcm(n1, n2))

    }

}

[java] view plaincopy

import java.util.*

/*求最大公约数和最小公倍数*/

public class MaxCommonDivisorAndMinCommonMultiple {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in)// 接收控制台输入的信息

System.out.print("请输入第一个整数:")

int num1 = scan.nextInt()// 取出控制台输入的信息

System.out.print("请输入第二个整数:")

int num2 = scan.nextInt()// 取出控制台输入的信息

System.out.println(maxCommonDivisor(num1, num2))// 调用maxCommonDivisor()方法

System.out.println(minCommonMultiple(num1, num2))// 调用minCommonMultiple()方法

}

// 递归法求最大公约数

public static int maxCommonDivisor(int m, int n) {

if (m <n) {// 保证m>n,若m<n,则进行数据交换

int temp = m

m = n

n = temp

}

if (m % n == 0) {// 若余数为0,返回最大公约数

return n

} else { // 否则,进行递归,把n赋给m,把余数赋给n

return maxCommonDivisor(n, m % n)

}

}

// 循环法求最大公约数

public static int maxCommonDivisor2(int m, int n) {

if (m <n) {// 保证m>n,若m<n,则进行数据交换

int temp = m

m = n

n = temp

}

while (m % n != 0) {// 在余数不能为0时,进行循环

int temp = m % n

m = n

n = temp

}

return n// 返回最大公约数

}

// 求最小公倍数

public static int minCommonMultiple(int m, int n) {

return m * n / maxCommonDivisor(m, n)

}

}