一(亿)点问题
查看原帖
一(亿)点问题
962853
zouyili2468楼主2023/8/15 16:35

这,本蒟蒻有一点问题,样例过了but全红(WA),望大犇指教!

#include<bits/stdc++.h>

using namespace std;

struct BigInt{
	int len;
	int array[10005];
};

BigInt Mul(BigInt a,int x)
{
	BigInt c;
	memset(c.array,0,sizeof(c.array));
	c.len=a.len+1;
	for(int i=0;i<=c.len-1;i++)
	{
		c.array[i]+=a.array[i]*x;
		c.array[i+1]+=c.array[i]/10;
		c.array[i]%=10; 
	}
	while(c.len&&c.array[c.len]==0) c.len--;
	if(c.len==0) c.len=1; 
	return c;
} 


int main()
{
	int t,a,n;
	
	cin>>t;
	
	while(t--)
	{
		int step=0;
		BigInt c;
		memset(c.array,0,sizeof(c.array));
		c.array[0]=1;
		
		cin>>n>>a;
		
		for(int i=1;i<=n;i++)
			c=Mul(c,i); 
		
		for(int i=c.len;i>=0;i--)
			if(c.array[i]==a) step++;
		cout<<step<<endl;
	}
	
	system("pause");
}
2023/8/15 16:35
加载中...