#include<stdio.h>
int gongyueshu(int a, int b);
int main()
{
int n, m, a, b, sum;
while(~scanf("%d", &n))
{
for(int i=0; i<n; i++)
{
sum = 0;
b=1;
scanf("%d", &m);
for(int j=0; j<m; j++)
{
scanf("%d", &a);
sum = b/gongyueshu(b, a)*a;
b = sum;
}
printf("%d\n", sum);
}
}
}
int gongyueshu(int a, int b)
{
if(b == 0) return a;
return gongyueshu(b, a%b);
}
int gongyueshu(int a, int b);
int main()
{
int n, m, a, b, sum;
while(~scanf("%d", &n))
{
for(int i=0; i<n; i++)
{
sum = 0;
b=1;
scanf("%d", &m);
for(int j=0; j<m; j++)
{
scanf("%d", &a);
sum = b/gongyueshu(b, a)*a;
b = sum;
}
printf("%d\n", sum);
}
}
}
int gongyueshu(int a, int b)
{
if(b == 0) return a;
return gongyueshu(b, a%b);
}
本文提供了一个通过求最大公约数来计算多个整数最小公倍数的C语言程序示例。程序首先定义了一个求两数最大公约数的递归函数,然后利用此函数在一个循环中逐步计算输入整数集合的最小公倍数。
2712

被折叠的 条评论
为什么被折叠?



