原文链接:https://blog.csdn.net/weixin_44774255/article/details/98533064
大体思路
1.运用最小公倍数等于两个数的乘积,再除与它们的最大公因数;
2.多个的最小公倍数可以利用两个求完得到的,在与另一个再求,反复调用即可;
3.要注意溢出的问题即1的公式先除在乘保证不会溢出;
代码如下:
#include “stdafx.h”
#include<stdio.h>
int gcd(int x, int y) {
if (y == 0)return x;
else return gcd(y, x%y);
}
int main()
{
int n;
while (scanf("%d",&n)!=EOF)
{
int a[1000];
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (int i = 0; i < n-1; i++)
{
a[i + 1] = a[i] / gcd(a[i], a[i + 1]) * a[i + 1];//防止溢出用,而不是写成a[i]) * a[i + 1] / gcd(a[i], a[i + 1],同时存在乘法和除法运算的式子里应该先写除法,避免过程溢出。
}
printf("%d\n", a[n - 1]);
}
return 0;
}