PS:以前对long long型的数据就一直不怎么明白...弄了好久...
long long a;
scanf("%lld",&a);
printf("%lld",a);
这样才行
代码:#include "stdio.h"
void swap(long long *a,long long *b){
long long t;
t=*a;
*a=*b;
*b=t;
}
long long gcd(long long a,long long b){
if(a>b) swap(&a,&b);
if(a==0) return b;
else{
return gcd(a,b%a);
}
}
int ngcd(int *a,int n){
if(n==1) return *a;
return gcd(a[n-1],ngcd(a,n-1));
}
long long lcm(long long a,long long b){
return a*b/gcd(a,b);
}
long long nlcm(long long *a,int n){
if(n==1) return *a;
return lcm(a[n-1],nlcm(a,n-1));
}
int main(){
int i,n;
long long num[110];
while(~scanf("%d",&n)){
for(i=0;i<n;i++){
scanf("%lld",&num[i]);
//printf("%lld",num[i]);
}
printf("%lld\n",nlcm(num,n));
//printf("%llf",num[i]);
}
return 0;
}