View Code of Problem 3836

#include<iostream>
using namespace std;
int gcd(int a,int b)
{
	while (a % b != 0)
	{
		long temp = a % b;
		a = b;
		b = temp;
	}
		return b;
}
int main()
{
	int g,l;
	while(cin>>g>>l)
	{
		int he=g*l;
		int zmin=9999999;
		int ii,kk;
		for(int i=1;i<=he;i++)
		{
			double k=1.0*he/i;
			if(gcd(i,he/i)==g&&k==he/i)
			{
				int d=i+he/i;
				if(zmin>d)
				{
					zmin=d;
					ii=i;
					kk=k;
				}
			}
		}
		if(ii>kk)  cout<<kk<<" "<<ii<<endl;
		else cout<<ii<<" "<<kk<<endl;
	}	
}

Double click to view unformatted code.


Back to problem 3836