在自学高精的路上迷失了方向······
这是道橙题啊!!!
#include <iostream>
#include <cstdio>
using namespace std;
int n,m,i,j,len,a[100],ans[100];
void c(int x){
int i;
for(i=1;i<=len;i++){
a[i]*=x;
while(a[i]>=10){
a[i]-=10;
a[i+1]+=1;
}
}
while(a[len+1]>0){
len++;
while(a[len]>=10){
a[len]-=10;
a[len+1]+=1;
}
}
return ;
}
int main(){
scanf("%d",&n);
for(i=1;i<=n;i++){
len=1;a[1]=1;
for(j=2;j<=i;j++) c(j);
for(j=1;j<=max(n,m);j++){
ans[j]+=a[j];
if(ans[j]>=10){
ans[j]-=10;
ans[j+1]+=1;
}
}
while(ans[m+1]>0){
m++;
while(ans[m]>=10){
ans[m]-=10;
ans[m+1]+=1;
}
}
}
for(i=m;i>=1;i--) printf("%d",ans[i]);
printf("\n");
return 0;
}
求大佬帮忙