后面两个测试点WA
查看原帖
后面两个测试点WA
345930
Gold14526神金楼主2021/5/2 21:19

用高精度了呀

using namespace std;
int a[1001],b[1001];
int lena()
{
	for(int i=1000;i>=2;i--)
	{
		if(a[i]>0)return i;
	}
	return 1;
}
int lenb()
{
	for(int i=1000;i>=2;i--)
	{
		if(b[i]>0)return i;
	}
	return 1;
}
int main()
{
	int n;
	scanf("%d",&n);
	b[1]=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<lenb();j++)
		{
			b[j+1]*=i;
			b[j+1]+=b[j]/10;
			b[j]%=10;
		}
		for(int j=1;j<=lenb();j++)
		{
			a[j]+=b[j];
			a[j+1]+=a[j]/10;
			a[j]%=10;
		}
	}
	for(int i=lena();i>=1;i--)
	{
		printf("%d",a[i]);
	}
	return 0;
}
2021/5/2 21:19
加载中...