import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int m = console.nextInt();
int n = console.nextInt();
int result = getCM(m, n);
System.out.println(result);
}
//编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数
public static int getCM(int m, int n){
/*
分析一下什么是最小公倍数:
最小公倍数=(m*n)/最小公约数
最小公约数:
根据欧几里得算法的余数性质:如果 x 是 y 的倍数,则 x 和 y 的最大公约数等于 y 和 (x - ky) 的最大公约数(其中 k 是一个整数)。这意味着我们可以减去 y 的倍数而不改变它们的最大公约数。
举例:算出10 8的最大公约数
10和 8 的公约数等于 8和2的最大公约数
8和2的最大公约数 等于 2 和0的最大公约数
即10和 8 的公约数等于 2 和0的最大公约数,故最大公约数等于2
*/
int result=(m*n)/gyMax(m,n);
return result;
}
//定义一个方法用于得到最大公约数
private static int gyMax(int m,int n){
//当n等于0的话,那么最大公约数就m了,所以要设一个条件
while(n!=0){
//第一种方法,用第三个变量进行交换值
int temp=n;
n=m%n;
m=temp;
}
return m;
}
}