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; } }