数组开了一千万才装下了1000的阶乘QWQ怎么回事啊
#include <iostream>
#include<cstring>
#include<algorithm>
using namespace std;
char a1[3000];
int a[10000000];
void doit(){
memset(a1, 0, sizeof(a1));
for(int i = 0; i < 10000000; i++) a[i] = 0;
a[0] = 1;
int n, m, len = 1;
cin >> n >> m;
for(int i = 1; i <= n; i++){
for(int j = 0; j < len; j++)
a[j] *= i;
for(int j = 0; j < len; j++) {
a[j+1] += a[j]/10;
a[j] %= 10;
if(a[j+1] != 0) len++;;
}
}
while(a[len] == 0 && len > 0) len--;
for(int i = len; i >= 0; i--) cout << a[i];
cout << endl << len;
}
int main() {
// your code goes here
doit();
return 0;
}