Pagini recente » Cod sursa (job #1258753) | Cod sursa (job #676944) | Cod sursa (job #2181645) | Cod sursa (job #2082489) | Cod sursa (job #1639253)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f ("minlcm.in");
ofstream g ("minlcm.out");
int t , n , v[100001],p1,p2,ns;
long long s,s1;
int dc (int a , int b)
{
if (!b) return a;
return dc(b , a % b);
}
long long mc (int a , int b)
{
return a / dc(a,b) * b;
}
int main ()
{
f >> t;
for ( ; t; --t)
{
f >> n;
for (int i = 1; i <= n; ++i)
f >> v[i];
sort (v + 1 , v + n + 1);
s = mc(v[1] , v[2]);
for (int d = 1; d <= v[n] ; d++)
{
ns = p1 = p2 = 0;
int p = 1,pmax = min(n , v[n] / t);
while (p <= pmax && ns < 2)
{
if (v[p] % d == 0){
if (p1 == 0) {p = p; ns++;}
else {p2 = p ; ns++;}}
p++;
}
if (ns == 2){
s1 = mc(v[p1] , v[p2]);
s = min(s , s1);}
}
g << s << endl;
}
g.close ();
return 0;
}