0分······
查看原帖
0分······
550532
LS时空光影楼主2022/3/27 22:17

在自学高精的路上迷失了方向······

这是道橙题啊!!!

#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;
}

求大佬帮忙

2022/3/27 22:17
加载中...