#include <iostream>
using namespace std;
int main(){
int n;
int a[100];
int x, y, r;
int gcd; //greatest common divisor
int lcmp; //least common multiple
while (cin >> n){
for (int i = 0; i < n; i++)
cin >> a[i];
lcmp = a[0];
for (int i = 1; i < n; i++){
if (lcmp < a[i]){
x = a[i]; y = lcmp;
}
else {
x = lcmp; y = a[i];
}
while (r=x%y){
x = y;
y = r;
}
gcd = y;//最大公约数
//cout << gcd << endl;
//开始先乘后除一直ac不了,先除后乘防溢出
lcmp = a[i] / gcd * lcmp;//两数最小公倍数=两数乘积/两数最大公约数
}
cout << lcmp << endl;
}
return 0;
}
杭电ACM2028:最小公倍数
最新推荐文章于 2020-03-19 20:02:35 发布