题目描述:
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.
这道题目简直坑爹,说保证数据在32-Bit里面,结果用int报错,用__int64就行,AC代码:
#include<stdio.h>
__int64 gcd(__int64 a,__int64 b){
__int64 r;
if(a<b){r=a;a=b;b=r;}
while(a%b!=0){
r=a%b;
a=b;
b=r;
}
return b;
}
int main(){
int n;
scanf("%d",&n);
while(n--){
int m;
__int64 k,l=1;
scanf("%d",&m);
while(m--){
scanf("%I64d",&k);
l=l*k/gcd(l,k);
}
printf("%I64d\n",l);
}
return 0;
}