View Code of Problem 3836

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<map>
#include<string>
#include<set>
using namespace std;
int GCD(int x,int y){
	return y==0?x:GCD(y,x%y);
}
int LCM(int x,int y){
	return x*y/GCD(x,y);
}
int main(void){
	int a,b;
	while(cin>>a>>b){
		int min=9999999,min_i=-1,min_j=-1;
		for(int i=a;i<=b;i+=a){
			for(int j=i;j<=b;j+=a){
				if(GCD(i,j)==a&&a*b==i*j)
					if(min>i+j)
						min_i=i,min_j=j,min=i+j;
			}
		}
		cout<<min_i<<" "<<min_j<<endl;
	}
}

Double click to view unformatted code.


Back to problem 3836