华为机试:108.求最小公倍数

简介: 华为机试:108.求最小公倍数

1. 题目

108.求最小公倍数


2. 描述

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。


输入描述:


输入两个正整数A和B。


输出描述:


输出A和B的最小公倍数。


示例1


输入


5 7


输出


35


3. 实现方法

3.1 方法 1

3.1.1 思路

最小公倍数即能同时被数字m和数字n整除的最小整数,利用欧几里得公式进行求解,先算出最大公约数,然后求出最小公倍数;


3.1.2 实现


import java.util.Scanner;
/**
 * @author : cunyu
 * @version : 1.0
 * @className : OneZeroEight
 * @date : 2020/8/8 22:41
 * @description : 108.求最小公倍数
 */
public class OneZeroEight {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while (input.hasNext()) {
            int m = Integer.parseInt(input.nextLine().split(" ")[0]);
            int n = Integer.parseInt(input.nextLine().split(" ")[1]);
            System.out.println(getLcm(m, n));
        }
    }
    /**
     * @param m
     * @param n
     * @return
     * @description 求最大公约数
     * @date 2020/8/8 22:50
     * @author cunyu1943
     * @version 1.0
     */
    public static int getGcd(int m, int n) {
        while (n > 0) {
            int tmp = m % n;
            m = n;
            n = tmp;
        }
        return m;
    }
    /**
     * @param m
     * @param n
     * @return
     * @description 求最小公倍数
     * @date 2020/8/8 22:50
     * @author cunyu1943
     * @version 1.0
     */
    public static int getLcm(int m, int n) {
        return m * n / getGcd(m, n);
    }
}
目录
相关文章
|
9月前
|
算法
华为机试HJ108:求最小公倍数
华为机试HJ108:求最小公倍数
|
8月前
hdu1406 完数 (水题)
hdu1406 完数 (水题)
33 0
|
10月前
|
Java C++
高精度加法 A+B 问题
高精度加法 A+B 问题
每日一题——最大回文数乘积
每日一题——最大回文数乘积
86 0
AcWing 809. 最小公倍数
AcWing 809. 最小公倍数
69 0
AcWing 809. 最小公倍数
AcWing 808. 最大公约数
AcWing 808. 最大公约数
72 0
AcWing 808. 最大公约数
AcWing 724. 约数
AcWing 724. 约数
55 0
AcWing 724. 约数
AcWing 725. 完全数
AcWing 725. 完全数
47 0
AcWing 725. 完全数
|
存储
【4. 高精度加法】
高精度加法 >## 思路: >- 大整数存储(用数组来存储,数组第0位,存低位,数组最后一位存高位),因为在进行加法运算时,通常会有进位,而在数组的最后一位,进位比较容易,而如果在数组开头进位的话,需要把整个数组移动一位。 >- 数组的每一位存一位数字
84 0
【4. 高精度加法】
|
算法 JavaScript 前端开发
【每日算法打卡】1. 两数之和
【每日打卡系列】LeetCode 简单题 200 道
【每日算法打卡】1. 两数之和