题目描述:
求一组数的最小公倍数。
题目类型:
数学思维。
解题思路:
先求两个数的最小公倍数,依次与后边的数求最小公倍数。
源代码:
#include<iostream>
using namespace std;
#define N 100000
int a[N];
int main()
{
int n;
cin>>n;
int m;
int i;
while(n--)
{
cin>>m;
for(i=0;i<m;i++)
cin>>a[i];
int r;
int sum=a[0];
for(i=0;i<m-1;i++)
{
a[i]=sum; //将结果与后边的依次求
int b=(a[i]>a[i+1])?a[i]:a[i+1]; //大的
int c=(a[i]<a[i+1])?a[i]:a[i+1]; //小的
r=c;
while(r)
{
r=b%c;
b=c;
c=r;
}
sum=(a[i]/b)*a[i+1]; //先求两个的最小公倍数
}
cout<<sum<<endl;
}
return 0;
}