首页 > 试题广场 >

求最小公倍数

[编程题]求最小公倍数
  • 热度指数:1578 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

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


输入描述:

输入两个正整数A和B。



输出描述:

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

示例1

输入

5 7

输出

35
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int m = scan.nextInt();
        int n = scan.nextInt();
        int c = m * n / sameNum(m,n);
        System.out.println(c);

    }
    public static int sameNum(int a,int b) {
        int c = a % b;
        while(c != 0) {
            a = b;
            b = c;
            c = a % b;
        }
        return b;
    }
}
发表于 2022-04-04 19:24:47 回复(0)
import java.util.*;
public class Main{
    public static int gdc(int n, int m){
         if(m == n){
            System.out.println(n);
        }
        if(n < m){
            int tmp = n;
            n = m;
            m = tmp;
        }
        int r = 0;
         //辗转相除法求最大公约数
        while((r = n % m) > 0){
            n = m;
            m = r;
        }
        return m;
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
       
        int mn = gdc(n,m);
        System.out.println((n * m)/mn);
    }

}



//方法2
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int a = Math.max(m,n);
        int b = Math.min(m,n);
        int c = 0;
        //辗转相除法求最大公约数
        while((c = a % b) > 0){
            a = b;
            b = c;
        }
        System.out.println((n * m)/b);
    }
 
}

编辑于 2022-03-30 15:33:59 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int a = in.nextInt();
        int b = in.nextInt();
        for (int i = 1; i <= b; i++) {
            if ((a*i) % b == 0){
                System.out.println(a*i);
                return;
            }
        }
    }
}

发表于 2022-03-29 16:09:57 回复(0)
import java.util.*;
public class Main{
    public static int gcd (int a, int b) {
        if (b == 0){
            return a;
        }
        return gcd (b,a%b);
    }
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println((a*b)/gcd(a,b));
    }
}

发表于 2019-12-17 22:27:49 回复(0)