zoukankan      html  css  js  c++  java
  • 华为机试测试- 最小公倍数

    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);
        }
    }
  • 相关阅读:
    洛谷 P1725 琪露诺 题解
    洛谷 P1714 切蛋糕 题解
    洛谷 P1352 没有上司的舞会 题解
    洛谷 P1194 买礼物 题解
    洛谷 P2872 [USACO07DEC]道路建设Building Roads 题解
    OpenCV之头文件分析
    电路学习之二极管(一)
    二极管学习(一)
    STL之vetor 排序
    小波分析(二)
  • 原文地址:https://www.cnblogs.com/maydow/p/4784489.html
Copyright © 2011-2022 走看看