Pagini recente » Cod sursa (job #165984) | Cod sursa (job #2577856) | Cod sursa (job #2085688) | Cod sursa (job #2331283) | Cod sursa (job #2029444)
#include <bits/stdc++.h>
#define nmax 18
using namespace std;
ifstream fin ("ratphu.in");
ofstream fout ("ratphu.out");
int n,p,nr=0,v[nmax+1];
long long d[1<<nmax][20];
int main()
{
fin>>n>>p;
while(n){
v[nr++]=n%10;
n/=10;
}
d[0][0]=1;
for(int i=0;i< (1<<nr)-1;++i)
for(int j=0;j<nr;++j){
if(i & (1<<j))continue;
for(int k=0;k<p;++k)
d[i | 1<<j][(10*k+v[j])%p]+=d[i][k];
}
fout<<d[(1<<nr)-1][0]<<endl;
return 0;
}