题目描述
The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.
输入
Input will consist of multiple problem instances. The first line of the input will contain a single integer indicating the number of problem instances. Each instance will consist of a single line of the form m n1 n2 n3 ... nm where m is the number of integers in the set and n1 ... nm are the integers. All integers will be positive and lie within the range of a 32-bit integer.
输出
For each problem instance, output a single line containing the corresponding LCM. All results will lie in the range of a 32-bit integer.
样例输入
2
2 3 5
3 4 6 12
样例输出
15
12
解题思路:
题意是给出n个数,求出这些数的最小公倍数,输出,先求前两个数的最小公倍数,再用这个数和第三个数求最小公倍数,依此类推,直到求出来。
代码如下:
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 //long long b[100000000]; 6 int g(int a,int bb) 7 { 8 if(a%bb==0) 9 return bb; 10 else 11 return g(bb,a%bb); 12 } 13 int main() 14 { 15 int a,i,j,k,q,c,t,d,b; 16 scanf("%d",&a); 17 while(a--) 18 { 19 scanf("%d",&c); 20 scanf("%d",&b); 21 for(i=0;i<c-1;i++) 22 { 23 scanf("%d",&d); 24 t=g(b,d); 25 b=b*(d/t); 26 } 27 printf("%d\n",b); 28 } 29 return 0; 30 }