曾经的C语言作业,困扰我难题…… 现在…… 题目链接:http://acm.hdu.edu.cn/diy/contest_showproblem.php?pid=1004&cid=2783&hide=0 #include<iostream> #include<math.h> using namespace std; int main(){ int n,w; while(cin>>n){ long a[10000]; int i,j,c,m=0; a[0]=1; for(i=1;i<=n;i++){ c=0; for(j=0;j<=m;j++){ a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } if(c>0) {m++;a[m]=c;} } // w=m*4+(long)log10((long)(a[m]))+1; //w是a[i]的位数; printf("%ld",a[m]); for(i=m-1;i>=0;i--) printf("%4.4ld",a[i]); putchar('/n'); } //return w; return 0; }