import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String[] input = new String[2]; int m=0; int n=0; int output=1; while (in.hasNextInt()) { input=in.nextLine().split("\\s+");//获取输入的2个数字 m = Integer.parseInt(input[0]); n = Integer.parseInt(input[1]); if(m>n){//确保m<=n output=m; m=n; n=output; } while (true){ if(output%m==0&&output%n==0){ break; } output++; } System.out.println(output); } } }
先上代码。本题要求最小公倍数,采用遍历的方式就比较简单。死循环的边界条件就是当某数值对2个输入的数字取模时都=0.由于输入有空格,笔者采用了正则表达式切分成字符串数组,之后存入int变量中,还比较机智地利用了output变量协助进行大小数字的交换,避免开辟临时变量额外的内存开销。