最大公约数:

  1. 将m/n排序,确保m>N
  2. m%n,如果是0返回n
  3. m%n和n比较获取最小的数据

最小公倍数

  1. 相乘/最大公因数

    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 minCommonMultiple(int m, int n) {  
        return m * n / maxCommonDivisor(m, n);  
    }

results matching ""

    No results matching ""