XTU-OJ 1075-求最小公倍数

各位程序员们  1024节 快乐! 

有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。如果x与y都为0,则输入结束。

每行输出一个测试用例的结果,即x与y的最小公倍数。(最后一行有回车)

Sample Input

4 5
3 6
0 0

Sample Output

20
6

解题思路: x与y 最小公倍数的求法:   x * y / (x,y的最大公因数)。

gcd ( 最大公因数),用辗转相除法求。

AC代码:

#include 

int gcd(int x,int y){
    return y>0 ? gcd(y,x%y) : x;
}

int main()
{
    int x,y,t,ans;
    while ( scanf("%d %d",&x,&y) != EOF && !(x==0 && y==0))
    {
        t = gcd(x,y);
        ans = x*y/t;
        printf("%d\n",ans);
    }
    return 0;
}

你可能感兴趣的:(湘大OJ练习解析,1024程序员节,算法)