158168LR @ 2020-01-19 12:48:10
#include<bits/stdc++.h>
using namespace std;
int a[100000001];
int jcs(int x,int y)
{
int h=1,m=0;
a[1]=1;
if(x==1)
if(y==1)
return 1;
else
return 0;
for(int i=2;i<=x;i++)
{
for(int j=1;j<=h;j++)
a[j]*=i;
for(int j=1;j<=h;j++)
{
if(a[j]>10)
{
a[j+1]+=a[j]/10;//处理进位
a[j]%=10;
}
while(a[h+1]>0)//处理最高位产生的进位
{
h++;
a[h+1]=a[h]/10;
a[h]%=10;
}
}
if(a[h+1]>0)
h++;
}
for(int i=1;i<=h;i++)
{
if(a[i]==y)
m++;
}
return m;
}
int main()
{
int t,n,a;
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n>>a;
cout<<jcs(n,a);
cout<<endl;
}
}