void fun() { int flag=0,temp=1,len=1; register int i,j; memset(a,0,sizeof(a)); a[0]=1; for(i=l-1;i<r;i++) if(num[i]==0){printf("0/n");return;} for(i=l-1;i<r;i++) { if(num[i]<0)temp*=-1; flag=0; for(j=0;j<=len-1;j++) //核心算法 { a[j]=b[i]*a[j]+flag; flag=a[j]/10000000000000; a[j]%=10000000000000; //13个0 ,0得个数应该可以更多点 } if(flag>0){len++;a[len-1]=flag;} } if(temp==-1)printf("-"); printf("%llu",a[len-1]); for(i=len-2;i>=0;i--) printf("%13.13llu",a[i]); printf("/n"); }