标签:
求1000!
#include <bits/stdc++.h>
using namespace std;
#define Maxn 1000
int A[Maxn];
int main(){
int i,j,n;
scanf("%d",&n);
memset(A,0,sizeof(A));
A[0] = 1;//第一位要设置为1,否则结果就全是0了
for(int i = 2; i <= n; i++){
int c = 0;
for(j = 0; j < Maxn; j++){//模拟计算
int s = A[j]*i + c;
A[j] = s % 10;
printf("%d\n",s%10);
c = s/10;
}
}
//是从后往前计算的,例如115,数组里存的就是511,然后去掉前导0,倒序输出即可
for(j = Maxn -1; j >= 0; j--){//去掉前导0
if( A[j] ){
break;
}
}
for(i = j; i >= 0; i--){
printf("%d",A[i]);
}
cout << endl;
return 0;
}
标签:
原文地址:http://www.cnblogs.com/yakoazz/p/5847062.html