我也是高精*低精,是我题目理解错误了?测了很多数据都是没问题的,谁能救我啊
#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;
}