求一组数的最小公倍数

题目:求一个×××数组的所有元素的最小公倍数,在不溢出的情况下

long long  LCM(int num1, int num2)
{
	long  long  mul = num1*num2;
	while (num1%num2)
	{
		int temp = num1%num2;
		num1 = num2;
		num2 = temp;
	}
	return mul / num2;
}
long long leastCommonMultiple(int arr[], int size)
{
	long long ret = 1;
	for (int i = 0; i < size; ++i)
	{
		ret = LCM(ret, arr[i]);
	}
	return ret;
}
int main()
{
	int arr[] = { 3, 9, 18 };
	cout << leastCommonMultiple(arr, 3) << endl;
	system("pause");
	return 0;
}