暴力,next_permutation函数用于枚举出下一个排列。sscanf函数用于将字符串转化成数字。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,len,ans;
long long x,t;
char s[];
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
ans=;
scanf("%s%lld",s,&x);
len=strlen(s);
sort(s,s+len);
sscanf(s,"%lld",&t);
if(!(t%x))ans++;
while(next_permutation(s,s+len))
{
sscanf(s,"%lld",&t);
if(!(t%x))ans++;
}
printf("%d\n",ans);
}
return ;
}