自己编译器上测试8以内都没问题,但是0分,求助大佬
查看原帖
自己编译器上测试8以内都没问题,但是0分,求助大佬
1413040
Hayya楼主2024/10/4 11:45
#include<bits/stdc++.h>
using namespace std;
int a[200],b[200];
int main()
{
	a[200]={0};
	a[0]=1;
	b[200]={0};
	b[0]=1;
	int n,m=1;
	cin>>n;
	if(n==0||n==1) cout<<"1"<<endl;
	else
	{
		for(int i=2;i<=n;i++)
		{
			int x=0;
			for(int j=0;j<m;j++)
			{
				int tmp;
				tmp=x+a[j]*i;
				a[j]=tmp%10;
				x=tmp/10;
			}
			while(x)
			{
				a[m++]=x%10;
				x/=10;
			}
		int	y=0;
		for(int i=0;i<=m;i++)
		{
			int tmp2;
			tmp2=a[i]+b[i]+y;
			b[i]=tmp2%10;
			y=tmp2/10;
		}
		}
		if(b[m]==0){
		for(int i=m-1;i>=0;i--) cout<<b[i];}
		else {
			for(int i=m;i>=0;i--)
			cout<<b[i];
		}
		
	}
	return 0;
}
2024/10/4 11:45
加载中...