View Code of Problem 3836

import java.util.*;
import java.math.*;
public class Main {
	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		while(in.hasNext()) {
			int a = in.nextInt();
			int b =in.nextInt();
			int ab = a*b;
			int ab2 = (int)Math.sqrt(ab);
			int x=Integer.MAX_VALUE/2;
			int y=Integer.MAX_VALUE/2;
			for(int i =a;i<=ab2;i+=a) {
				BigInteger bx = new BigInteger(i+"");
				BigInteger by = new BigInteger(ab/i+"");
				if(bx.gcd(by).intValue()==a && bx.multiply(by).divide(bx.gcd(by)).intValue()==b) {
					if(i+ab/i<x+y) {
						x=i;
						y=ab/i;
					}
				}
			}
			System.out.println(x+" "+y);
		}
	}
}

Double click to view unformatted code.


Back to problem 3836