您的位置:首页 > 其它

HDU 1108 最小公倍数

2013-07-08 17:02 225 查看

最小公倍数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 26421    Accepted Submission(s): 14532


[align=left]Problem Description[/align]
 

给定两个正整数,计算这两个数的最小公倍数。
 

 

[align=left]Input[/align]
 

输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
 

 

[align=left]Output[/align]
 

对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。

 

 

[align=left]Sample Input[/align]
 

10 14

 

 

[align=left]Sample Output[/align]
 

70

 

要求的是最小公倍数,可以用辗转相除法求出最大公约数,然后用两个数的乘积除以最大公约数便到所求。

我的代码如下:

 

#include<iostream>

using namespace std;

int main(void)

{

    int a,b;

    int n;

    while(cin>>a>>b)

    {

        int m,k;

        m=a,k=b;

        if(a>b)

        {

            int temp;

            temp=a;

            a=b;

            b=temp;

        }

        n=a%b;

        while(n!=0)

        {

            a=b;

            b=n;

            n=a%b;

        }

        cout<<(k*m)/b<<endl;

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: