蒟蒻一个,请dalao帮忙看看哪里出了错~
查看原帖
蒟蒻一个,请dalao帮忙看看哪里出了错~
1070708
Caged_Bird楼主2023/9/3 17:46
#include<bits/stdc++.h>
using namespace std;
int c[105],s[105],now[105]={0,1},n,lena,lenb;
void cheng(int a[],int b){
	for(int i=104;i>=1;i--)if(a[i]!=0){lena=i;break;}
	for(int i=1;i<=lena;i++){
		c[i]=a[i]*b;
		c[i+1]+=c[i]/10;
		c[i]%=10;
	}
}
void jia(int a[],int b[]){
	for(int i=104;i>=1;i--)if(a[i]!=0){lena=i;break;}
	for(int i=104;i>=1;i--)if(b[i]!=0){lenb=i;break;}
	for(int i=1;i<=lena||i<=lenb;i++){
		c[i]=a[i]+b[i];
		c[i+1]+=c[i]/10;
		c[i]%=10; 
	}
}
int main(){
	int j;
	cin>>n;
	for(int k=1;k<=n;k++){	
		for(int i=1;i<=k;i++){
			cheng(now,i);
			for(j=104;j>=1;j--)if(c[j]!=0)break;
			for(;j>=1;j--)now[j]=c[j];
		}
		jia(s,now);
		for(j=104;j>=1;j--){now[j]=0;if(c[j]!=0)break;}
		for(;j>=1;j--){now[j]=0;s[j]=c[j];c[j]=0;}
		now[1]=1;
	}

	for(j=104;j>=1;j--)if(s[j]!=0)break;
	for(;j>=1;j--)cout<<s[j];
	return 0;
}
2023/9/3 17:46
加载中...