题解 | #求最小公倍数#
求最小公倍数
https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int b = in.nextInt(); ArrayList<Integer> la = new ArrayList<>(); ArrayList<Integer> lb = new ArrayList<>(); int i = 2; while(a>1){ if(a%i==0){ la.add(i); a=a/i; }else i++; } i = 2; while(b>1){ if(b%i==0){ lb.add(i); b=b/i; }else i++; } ArrayList<Integer> lc = new ArrayList<>(); for(int ga:la){ for(int gb:lb){ if(ga==gb) { lc.add(ga); break; } } } int sum = 1; for(int g:la){ sum = sum*g; } for(int g:lb){ sum = sum*g; } if(lc.size()!=0){ for(int g:lc){ sum = sum/g; } } System.out.println(sum); } } }