为啥我这个答案对了却全部wc了?
查看原帖
为啥我这个答案对了却全部wc了?
566939
aumuF1楼主2023/1/10 16:39
#include<iostream>
#include<vector>
using namespace std;

vector<int> jiec(int k)
{
	vector<int> a(10000,0);
	a[0]=1;
	int d=0;//进位; 
	for(int j=1;j<=k;j++)
	{
		for(int i=0;i<10000;i++)
		{
			int b = a[i]*j+d;
			a[i]=b%10;
			d=b/10;
		}
	}
	return a;
}

int getlen(vector<int> a)
{
	for(int i=a.size();i>=0;i--)
	{
		if(a[i]!=0)
		{
			return i;
		}
	}
}

vector<int> xianjia(vector<int> a,vector<int> b)
{
	vector<int> c(10000,0);
	for(int i=0;i<10000;i++)
	{
		c[i]=a[i]+b[i];
	}
	int d=0;
	for(int i=0;i<10000;i++)
	{
		int b = c[i]+d;
		c[i] = b%10;
		d=b/10;
	}
	return c;
}

int main()
{
	vector<int> a(10000,0);
	int n;cin>>n;
	for(int i=1;i<=n;i++)
	{
		vector<int> b=jiec(i);
		a = xianjia(b,a);
	}
	for(int i=getlen(a);i>=0;i--)
	{
		cout<<a[i];
	}
}

输入6得到873,这个测试点也给我wc了

2023/1/10 16:39
加载中...