公约数和公倍数

#include<iostream>
using namespace std;

int multiple(int a,int b)
{
    int product=1;
    int i=2;
    while(i<=a&&i<=b)
        if(a%i==0&&b%i==0)
            {
                product*=i;
                a=a/i;
                b=b/i;
                i=2;
            }
        else
            i++;
    return product*a*b;            
}

int approximate(int a,int b)
{
    int product=1;
    int i=2;
    while(i<=a&&i<=b)
        if(a%i==0&&b%i==0)
            {
                product*=i;
                a=a/i;
                b=b/i;
                i=2;
            }
        else
            i++;
    return product;            
}

int main()
{
    int n,mul,app,i,j;
    cin>>n;
    while(n--)
    {
        cin>>i>>j;
        mul=multiple(i,j);
        app=approximate(i,j);
        cout<<app<<" "<<mul<<endl;
    }
    return 0;
}

 

posted @ 2012-09-17 10:58  Afraid  阅读(131)  评论(0)    收藏  举报