#include<iostream> #include<algorithm> #include<cmath> using namespace std; int gcd(int a,int b) { if(b==0) return a; else return gcd(b,a%b); } int main() { int m,n,a[1000]= {0},b,k=0; cin>>m>>n; if(m==n) { cout<<m<<" "<<n; } else { for(int i=1; i<=sqrt(m*n); i++) { if(m*n%i==0&&gcd(i,m*n/i)==m&&i<=m*n/i) { a[k++]=i; } } int j=0,min=m+n; for(int i=0; i<k; i++) { if(a[i]+m*n/a[i]<=min) { j=i; } } cout<<a[j]<<" "<<m*n/a[j]; } } |
Double click to view unformatted code.