Typical_typhoon @ 2023-06-07 13:15:31
#include<bits/stdc++.h>
#define int long long
using namespace std;
int c[3010];
int jc(int n,int k){
memset(c,0,sizeof(c));
int l=1,ans=0;n--;
c[1]=1;
for(int j=1;j<=n;j++){//高精乘低精
for(int i=1;i<=l;i++){
c[i]+=(c[i]*j);
}
for(int i=1;i<=l;i++){
c[i+1]+=c[i]/10;
c[i]%=10;
}
while(c[l+1]){
c[l+1]+=c[l]/10;
c[l]%=10;
l++;
}
}
// for(int i=l;i>=1;i--){
// cout<<c[i];
// }cout<<"\n";
for(int i=1;i<=l;i++){//计算数字出现的次数
if(c[i]==k){
ans++;
}
}
return ans;
}
signed main(){
int t,n,k;
cin>>t;
for(int i=1;i<=t;i++){
cin>>n>>k;
cout<<jc(n,k)<<"\n";//输出
}
//cout<<jc(114,2);
return 0;
}