一本通求助
  • 板块题目总版
  • 楼主QAQ___awa
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/10/28 22:04
  • 上次更新2023/11/4 02:02:23
查看原帖
一本通求助
411090
QAQ___awa楼主2021/10/28 22:04
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
string qjc(int n)
{
	int x=0;
	int l=1;
	string a;
	a[1]='1';
	for(int i=1;i<=n;i++)
	{
		x=0;
		for(int j=1;j<=l;j++)
		{
			a[j]=(a[j]-'0')*i+x+'0';
			x=(a[j]-'0')/10;
			a[j]=(a[j]-'0')%10+'0';
			if(x>0&&j>=l)l++;
		}
	}
	return a;
}
string jia(string a,string b)
{
	int a1[10000000],b1[100000000];string c,c1;
	int la=sizeof(b);
	int lb=sizeof(a);
	for(int i=0;i<la;i++)
	{
		a1[la-i]=a[i]-'0';
	}
	for(int i=0;i<lb;i++)
	{
		b1[lb-i]=b[i]-'0';
	}
	int lc=max(la,lb)+1;
	for(int i=1;i<=lc;i++)
	{
		c[i]+=a1[i]+b1[i]+'0';
		c[i+1]=(c[i]-'0')/10+'0';
		c[i]=(c[i]-'0')%10+'0';
	}
	while(c[lc]=='0'&&lc>1)lc--;
	for(int i=0;i<lc;i++)
	{
		c1[lc-i]=c[i];
	}
	return c1;
}
string c1="0";
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		c1=jia(c1,qjc(i));
	}
	cout<<c1;
	return 0;
}

题目

2021/10/28 22:04
加载中...