windaoo吧 关注:12贴子:446
  • 0回复贴,共1
  • 121.30.63.*
#include <stdio.h>
#define N 100000
#define MEM 1024*1024
int main()
{
register unsigned int  i, m, s;
static   unsigned long t, k;
register unsigned char * r;
if(NULL == (r = malloc(sizeof(char)*MEM))){
printf("malloc error\n");
return 1;
}
*r = 1;
m=1;
s=1;
k=0;
while(m <= N){
for(i=0;i<s;i++){
t=r[i]*m;
k=k+t;
r[i]=k%10;
k/=10;
}
while( k != 0 ){
r[i]=k%10;
k/=10;
i++;
}
m++;
/* if(m%1000==0){
printf("\n m=%d",m);
printf("\t t=%ld",t);
}*/
s=i;
}
printf("\n\n");
while(s)
printf("%d",r[--s]);
    getchar();
return 0;

}



1楼2006-11-24 00:00回复