辗转相除最小公倍数的递归求法

#include<iostream>
using namespace std;
int gcd(int a,int b)
{
    return a%b?gcd(b,a%b):b;
}
int main()
{
    int m,n;
    while(cin>>m>>n)
    {
        int sum=m+n;
        int Sum=m*n;
        m=m>n?m:n;
        n=sum-m;
        int k=gcd(m,n);
        cout<<k<<" "<<Sum/k<<endl;
    }
}

猜你喜欢

转载自www.cnblogs.com/Leozi/p/10835663.html