最小公倍数(LCM)
最大公约数(GCD)
LCM(a, b) = a * b / GCD(a,b);
或者: lcm(a, b) = a/gcd(a,b) * b; // 这个可以防溢出
// hdu 2028
#include<iostream>
using namespace std;
int gcd(int a, int b);
int lcm(int a, int b);
int main()
{
int n;
int data[256];
while(cin >> n)
{
for(int i=0; i<n; i++)
{
cin >> data[i];
}
int result = lcm(data[0],data[1]);
for(int i=2; i<n; i++)
{
result = lcm(result , data[i]);
}
cout << result << endl;
}
}
int gcd(int a, int b)
{
int temp;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
while(b != 0)
{
temp = a%b;
a = b;
b = temp;
}
return a;
}
int lcm(int a, int b)
{
return a/gcd(a,b) * b ;
}