#include<stdio.h> #include<stdlib.h> #include<math.h> #define inf 1000000 int gcd(const int a,const int b){ return b?gcd(b,a%b):a; } int main(){ int a,b,i,k1,k2; while(scanf("%d %d",&a,&b)){ int min=inf; for(i=a;i<=sqrt(a*b);i++) { if(b%i==0&&gcd(i,a*b/i)==a){ int s=i+a*b/i; if(s<min) { min=s; k1=i; k2=a*b/i; } } } printf("%d %d\n",k1,k2); } } |
Double click to view unformatted code.