#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> int gcd(int a,int b){ int c; while(a%b!=0){ c=a%b; a=b; b=c; } return b; } int main(){ int g,l; while(scanf("%d %d",&g,&l)!=EOF){ int sum=g*l; int min=2000; int pos=0; int count=0; for(int i=g;i<=sqrt(g*l);i++){ if(i%g==0&&gcd(i,sum/i)==g){ if(min>sum/i+i){ min=sum/i+i; pos=i; }else if(min==sum/i+i){ if(pos>i){ pos=i; } } } } printf("%d %d\n",pos,sum/pos); } } |
Double click to view unformatted code.