【求助】杭电acm 1019 Least Common Multiple(最小公倍数)
题目要求是这样:求一组数据的最小公倍数,比如说,5,7和15的最小公倍数是105输入要求:
开始输入一个整数,表示测试用例数。接下来输入一个整数表示这个测试例子所用多少个整数。
输出要求:
每组用例占一行输出,输出的数不超过32位整型数;
Sample Input
2
3 5 7 15
6 4 10296 936 1287 792 1
Sample Output
105
10296
我写的代码如下:
程序代码:#include <stdio.h>
int fun (int x, int y) //求两数的最小公倍数
{
int temp, r, large, small;
if (x < y)
{
temp = y;
y = x;
x = temp;
}
large = x;
small = y;
while ((r = x % y) > 0)
{
x = y;
y = r;
}
return large * small / y;
}
int main ()
{
int m, n;
int i;
int a, mul;
scanf ("%d", &m);
while (m--)
{
scanf ("%d", &n);
mul = 1;
for (i = 0; i < n; i++)
{
scanf ("%d", &a);
mul = fun (mul, a);
}
printf ("%d\n", mul);
}
return 0;
}思路是每输入一个数,就和之前的数计算两数的最小公倍数,知道输入结束。题目本身不难,可提交上去显示就是Wrong Answer,求指点,拜托了!









