//******************************更简洁的写法?********************************
//**********************写法很多,但是希望越简洁越好,代码越少越好************************
//************************BY WangKe.Automation.WUST.2012.10***********************
#include<iostream>
using namespace std;
void GetGCD(int numa, int numb)
{
int divisor = 2; //动态除数
int gcd = 1; //最大公约数结果
while( (numa >= divisor) && (numb >= divisor) ) //最大公约数
{
if( ( numa%divisor == 0 ) && ( numb%divisor == 0 ) )
{
gcd = divisor;
}
divisor++;
}
cout<<"The greatest common divisor is "<<gcd<<endl;
}
void GetLCM(int numa, int numb)
{
int lcm = 1; //最小公倍数结果
lcm = numa>=numb?numa:numb; //最小公倍数
while ( !( lcm%numb == 0 && lcm%numa == 0 ) )
{
lcm++;
}
cout<<"The least common multiple is "<<lcm<<endl;
}
int main()
{
int num1 = 0, num2 = 0; //输入数字
while(1)
{
cin>>num1;
cin>>num2;
GetGCD(num1, num2);
GetLCM(num1, num2);
}
return 0;
}