超级最小公倍数
时间限制:8000 ms | 内存限制:16384 KB
- 描述
-
给2个正整数a,b(1<=a,b<=10100),求a和b的最小公倍数。
- 输入
-
输入包含多组数据,每组数据一行,包含两个正整数a和b,中间以一个空格隔开。输入以0 0结束。
- 输出
-
每组数据输出一行,为a,b的最小公倍数。
- 样例输入
-
123 321 123456789 987654321 0 0
- 样例输出
-
13161 13548070123626141
1 import java.math.*; 2 import java.io.*; 3 import java.util.*; 4 5 public class Main { 6 public static void main(String[] args) { 7 BigInteger a, b; 8 BigInteger c; 9 Scanner cin = new Scanner(System.in); 10 11 while(cin.hasNext()) { 12 String s = cin.nextLine(); 13 String[] sa = s.split("\\ "); 14 a = new BigInteger(sa[0], 10); 15 b = new BigInteger(sa[1], 10); 16 if((a.compareTo(BigInteger.ZERO) == 0) &&(b.compareTo(BigInteger.ZERO) == 0)) break; 17 c = a.multiply(b); 18 c = c.divide(a.gcd(b)); 19 System.out.println(c); 20 } 21 22 } 23 }