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;
}