import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()) { long x = scanner.nextLong(); long y = scanner.nextLong(); long cheng = x*y; long s=(long)Math.sqrt(cheng); long min = Long.MAX_VALUE; long a =0; long b =0; for(long i=x; i<=s; i++) { if((cheng % i == 0) && yinshu(i,cheng / i) == x) { long p = i+cheng/i; if(min>p) { min=p; b=cheng/i; a=i; } } } System.out.println(a+" "+b); } } public static long yinshu(long a, long b) { long c = a % b; while(c != 0) { a = b; b = c; c = a % b; } return b; } } |
Double click to view unformatted code.