我爱刷题 • 1个月前
using namespace std; int a[10000], b[10000]; signed main() {
int n; cin >>n; a[0]= 1; int lenl =1, len2= 1;
for(int i=1;i<= n; i++){
for(int j=0;j<lenl; j++)a[j]*=i;
for(int j=0;j<lenl ||a[lenl]>0;j++){
a[j+ 1] += a[j] / 10;
a[j] %= 10;
lenl = max(lenl, j+ 1);
}
for (int j=0;j< lenl; j++){
b[j] += a[j];
b[j+ 1] += b[j] / 10;
b[j] %= 10;
}
if(b[lenl]>0)len2 = lenl + 1; else len2 = lenl;
}
for(int i=len2-1;i>=0;i--)cout << b[i];
return 0;
}
评论:
请先登录,才能进行评论