这么简单哈哈哈我大一C语言都会做!
方法一:常规算法
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
if(m<n)
swap(m,n);
r=m%n;
while(r)
{
m=n;
n=r;
r=m%n;
}
cout<<n<<" "<<p/n<<endl;
}
方法二:递归算法
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
int gcd(int m,int n)
{
return m%n?gcd(n,m%n):n;
}
int main()
{
int m,n,r,p;
cin>>m>>n;
p=m*n;
cout<<gcd(m,n)<<" "<<p/gcd(m,n)<<endl;
}