HDOJ2028 Lowest Common Multiple Plus 求n个数的最小公倍数

来源:互联网 发布:手机铃声加大软件 编辑:程序博客网 时间:2024/05/22 08:32

这道题整整提交了8次才AC。抓狂

Post Code:

#include<iostream>using namespace std;__int64 gcd(__int64 x,__int64 y){//用辗转相除法求2个数的最大公约数     int r;    if(x<y){         r=x;         x=y;         y=r;               }    while(r!=0){            r=x%y;            x=y;            y=r;            }    return x;    }    int main(){    int n;    __int64 lcm;//用64位的整数,防止溢出     while(scanf("%d",&n)!=EOF){           __int64 a[100]={0};            lcm=1;            for(int i=0;i<n;i++){                scanf("%I64d",&a[i]);                lcm=lcm*a[i]/gcd(lcm,a[i]);//先求出最先2个数的lcm,然后与后一个数再求lcm,依次类推。                         }            printf("%I64d\n",lcm);            }    return 0;    }


原创粉丝点击