题目描述
解题思路
#include<iostream>
using namespace std;
//求最大公约数 辗转相除法
int gcd(int a,int b) {
if(a%b==0)
return b;
else {
return gcd(b,a%b);
}
}
int main() {
int n;
while(cin>>n) {
int a[101];
for(int i=0; i<n; i++) {
cin>>a[i];
}
int k=gcd(a[0],a[1]);
int p=a[0]/k*a[1];
if(n>2) {
//对数组中的每个数一个一个的来求最大公约数
//从而求最小公倍数
for(int i=1; i<n-1; i++) {
k=gcd(p,a[i+1]);
p=p/k*a[i+1];
}
}
cout<<p<<endl;
}
return 0;
}