ACM中的大数阶乘,看不懂别人的代码。能帮我看一下吗
程序代码:
#include <stdio.h> #include <stdlib.h> #define N 5000 int main() { int x[N]; x[0]=1; for(int i=1;i<N;i++) { x[i]=0; } int c; scanf("%d",&c); int i,j,temp=0,temp2;//这一块看不懂 for(i=1;i<=c;i++) { for(j=0;j<N-1;j++) { temp2=x[j]*i+temp; x[j]=temp2%10; temp=(temp2-temp2%10)/10; } } int k=0; //输出 for(j=N-2;j>=0;j--) { if(x[j]==0 && k==0) { } else { printf("%d",x[j]); k++; } } printf("\n"); return 0; }