谁来救救我! 做不出来。
#include <bits/stdc++.h>
using namespace std;
int t,n,a;
int u[1000000];
int flag;
int main()
{
cin>>t;
for(int w=1;w<=t;w++)
{
flag=0;
memset(u,0,sizeof(u));
u[1]=1;
cin>>n>>a;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=2500;j++)
{
if(!u[j])
continue;
u[j]*=j;
}
for(int j=1;j<=2500;j++)
{
if(u[j]>9)
{
u[j+1]+=u[j]/10;
u[j]%=10;
}
}
}
int tot=0;
for(int i=2500;i>=1;i--)
{
if(u[i]==0&&flag==0)
continue;
if(u[i]>=1)
flag=1;
if(u[i]==a)
{
tot++;
}
//cout<<u[i]<<' ';
}
//cout<<endl;
cout<<tot<<endl;
}
return 0;
}