您的位置:首页 > 其它

最小公倍数 SCU - 1630

2018-03-12 23:06 176 查看
    求N个正整数的最小公倍数。

输入

    第一行为一个数M,表示测试数据的组数,接下来有M行,每行为一组测试数据。 每组测试数据由若干个整数组成,第一个数为N,表示紧接着有N个数,接下来有N个正整数。

输出

    对于每组测试数据,输出一行,即这N个数的最小公倍数。
    可以保证所有的测试数据及其最后的运算结果都在32位有符号整型数(即C++中的int)的范围内。

输入示例

2
3 5 7 15
6 4 10296 936 1287 792 1

输出示例

105
10296

题解:水题;
代码(C语言)
#include <stdio.h>
#include <stdlib.h>
int lcm(int a,int b)
{
    int t,x,y,lcm;
    x=a;
    y=b;
    if(a<b){
        t=a;
        a=b;
        b=t;
    }
    while(b!=0){
        t=a;
        a=b;
        b=t%b;
    }
    lcm=x/a*y;
    return lcm;
}//构建函数求两个数的最小公倍数,即lcm
int main()
{
    int m,n,a,sum;
    scanf("%d",&m);
    while(m--){
        scanf("%d",&n);
        sum=1;
        while(n--){
            scanf("%d",&a);
            sum=lcm(sum,a);
        }
        printf("%d\n",sum);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: