我测了很多数据都是对的,为什么是0分,谁能救救我
查看原帖
我测了很多数据都是对的,为什么是0分,谁能救救我
1079747
a7784653279楼主2025/1/15 18:26

我也是高精*低精,是我题目理解错误了?测了很多数据都是没问题的,谁能救我啊

#include <bits/stdc++.h>
using namespace std;
vector<long long> v;
void mul(int ans[],int k){
	for(int i=0;i<1009;i++){
		ans[i]*=k;
	}
	for(int i=0;i<1009;i++){
		ans[i+1]+=ans[i]/10;//进位 
		ans[i]%=10;
	}
}
int main()
{
	int t;
	cin>>t;
	while(t--){
		int n,a;
		int ans[1010];
		cin>>n>>a;
		memset(ans,0,sizeof ans);
		ans[0]=1;
		int k=1;
		for(int i=0;i<n;i++){
			mul(ans,k);
			k++;
		}
		int len=1009;
		while(ans[len]==0&&len>0){
			len--;
		}
		long long res=0;
		for(int i=len;i>=0;i--){
			if(ans[i]==a){
				res++;
			}
		}
		v.push_back(res);
	}
	for(int i=0;i<v.size();i++){
		cout<<v[i]<<endl;
	}
	return 0;
}
2025/1/15 18:26
加载中...