【求助】杭电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,求指点,拜托了!