【ACM】杭電OJ 2028
阿新 • • 發佈:2018-11-24
int 會 WA ,注意使用 long long
先除後乘,避免超出範圍,但好像本題先乘後除也AC
#include <iostream> #include <cstdio> #include <cstring> long long lcm(long long a,long long b) { long long c,t,m=a,n=b; if(a<b) {t=a;a=b;b=t;}; c=a%b; while(c!=0) { a=b; b=c; c=a%b; } return (m/b*n); } int main () { long long n,i,a,b; while(scanf("%lld",&n)!=EOF && n>0) { for(i=1;i<=n;i++) { if(i==1) scanf("%lld",&a); else { scanf("%lld",&b); a=lcm(a,b); } } printf("%lld\n",a); } return 0; }