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