Pagini recente » Cod sursa (job #2592859) | Cod sursa (job #186531) | Cod sursa (job #1599590) | Cod sursa (job #1360863) | Cod sursa (job #466042)
Cod sursa(job #466042)
#include <cstdio>
typedef long long i64;
i64 din[1<<18][20];
int main()
{
i64 N;
int n,i,j,r,P,c[22];
freopen("ratphu.in","r",stdin);
scanf("%lld %d",&N,&P);
for (n=0;N>0;N/=10) c[n++]=N%10;
din[0][0]=1;
for (i=0;i < (1<<n);++i)
for (r=0;r<P;++r)
if (din[i][r])
for (j=0;j<n;++j)
if (!((1<<j)&i))
din[i+(1<<j)][(r*10 + c[j])%P]+=din[i][r];
freopen("ratphu.out","w",stdout);
printf("%lld\n",din[(1<<n)-1][0]);
return 0;
}