#include
int main() { int n, i, j, gcd, lcm, flag; int nums[100];
printf("请输入数字的数量: ");
scanf("%d", &n);
printf("请输入%d个数字:\n", n);
for(i = 0; i < n; ++i)
{
scanf("%d", &nums[i]);
}
gcd = nums[0];
lcm = nums[0];
for(i = 1; i < n; ++i)
{
// 计算最大公约数
if(nums[i] < gcd)
{
j = nums[i];
}
else
{
j = gcd;
}
for(; j >= 1; --j)
{
if(nums[i] % j == 0 && gcd % j == 0)
{
gcd = j;
break;
}
}
// 计算最小公倍数
flag = 1;
for(j = 1; ; ++j)
{
if(j * lcm % nums[i] == 0)
{
lcm = j * lcm;
flag = 0;
break;
}
if(flag)
{
lcm = nums[i] * lcm / gcd;
}
}
}
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}