求调
查看原帖
求调
785529
4399__楼主2024/8/27 11:23

本人蒻一个,恳请各位dalao调一下我这一坨`(>﹏<)′

#include<bits/stdc++.h>
using namespace std;
void gjdc (int aline,int bline,int a[10005],int b[100005],int c[100006]){
	for(int i=1;i<=aline;i++){
		for(int j=1;j<=bline;j++){
			c[i+j-1]+=a[i]*b[j];
			c[i+j]+=c[j+i-1]/10;
			c[i+j-1]%=10;
		}
	}
}
void gjdj(int a[10005],int b[100005],int c[100005],int long_line){
	for(int i=1;i<=long_line;i++){
		c[i]+=a[i]+b[i];
		c[i+1]+=c[i]/10;
		c[i]%=10;
	}	
} 
void jh(int a[100005],int b[100005],int line){
	for(int i=1;i<=line;i++){
		int t;
		t=a[i],a[i]=b[i],b[i]=t;
	}
}
int main(){
	int n,a[100005]={},b[100005]={},c[100005]={},d[100005]={},e[100005]={};
	cin>>n;
	a[1]=1,b[1]=1,c[1]=1;
	for(int i=1;i<=n;i++){
		b[1]=i%10,b[2]=i/10;
		gjdc(sizeof(a),sizeof(b),a,b,c);
		gjdj(c,d,e,max(sizeof(c),sizeof(d)));
		jh(a,c,sizeof(c));
		jh(e,d,sizeof(e));
		memset(c,0,sizeof(c));
		memset(e,0,sizeof(e));
	}
	for(int i=1;i<=sizeof(d);i++){
		cout<<d[i];
	}
	return 0;
}

2024/8/27 11:23
加载中...