hdu 1019

来源:互联网 发布:heyden 分层标定算法 编辑:程序博客网 时间:2024/06/05 16:18
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
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. 
Output
For each problem instance, output a single line containing the corresponding LCM. All results will lie in the range of a 32-bit integer. 
Sample Input
23 5 7 156 4 10296 936 1287 792 1
Sample Output

10510296


代码是我偷来的,非常简洁,递归求解
#include <stdio.h>#include <stdlib.h>int gcd(int a,int b){    if(b==0)return a;    return gcd(b,a%b);}int main(){    int group;    int n,a,b,i;    int cnt;    scanf("%u",&group);    while(group--)    {        scanf("%d",&n);        cnt=a=1;        for(i=1;i<=n;i++)        {            scanf("%d",&b);            cnt=a/gcd(a,b)*b;//换一下,先除后乘,免得数据溢出            a=cnt;        }        printf("%d\n",cnt);    }    return 0;}



原创粉丝点击