大佬们,我又来求助啦,明明输出没错,为啥就给我4wa
查看原帖
大佬们,我又来求助啦,明明输出没错,为啥就给我4wa
276303
初十三楼主2020/8/7 17:38
#include<bits/stdc++.h>
using namespace std;

int main()
{
	int a[1002],b[1002],c[1002];
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	int n,m,d,w,k;
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		memset(a,0,sizeof(a));
		a[0]=1;
		for(int j=1;j<=i;j++)
		{
			for(int s=0;s<=1002;s++)
			{
				a[s]*=j;
			}
			for(int s=0;s<=1002;s++)
			{
				if(a[s]>10)
				{
					k=a[s]/10;
					a[s]%=10;
					a[s+1]+=k;
				}
			}
		}
		for(int i=0;i<1002;i++)
		{
			b[i]+=a[i];
			if(b[i]>=10)
			{
				d=b[i]/10;
				b[i+1]+=d;
				b[i]%=10;
			}
		}	
	}
	for(int i=1002;i>=0;i--)
	{
		if(b[i]==0)
		w=i;
		else
		break;
	}
	for(int i=w-1;i>=0;i--)
	{
		cout << b[i];
	}
	cout << endl;
	return 0;
}

大佬们帮我看看吧,看看哪里错了。我还发现c数组不可删去,删了之后数据会不输出的,这是为啥?

2020/8/7 17:38
加载中...