hdu1019

来源:互联网 发布:电脑编程入门自学资料 编辑:程序博客网 时间:2024/05/16 15:03

题意:求n个数的最大公倍数;

#include<stdio.h>#define max(x,y) (x>y?x:y)#define min(x,y) (x<y?x:y)int find(int a1,int a2){    int t1=a1%a2;    while(t1!=0)    {        a1=a2;        a2=t1;        t1=a1%a2;    }    return a2;}int main(){    int n;    scanf("%d",&n);    while(n--)    {        int t;        scanf("%d",&t);        int i;        int j,k,a;        scanf("%d",&k);        for(i=1;i<t;i++)        {            __int64 x1,x2;//这里注意64位整型            scanf("%d",&j);            if(k==0||j==0)            {                k=0;            }            else            {                x1=max(k,j);                x2=min(k,j);                if(x1%x2==0)                    k=x1;                else                {                    a=find(x1,x2);                    k=(x1*x2)/a;                }            }        }        printf("%d\n",k);    }}
0 0
原创粉丝点击