Pagini recente » Cod sursa (job #1492084) | Cod sursa (job #3282971) | Cod sursa (job #137339) | Cod sursa (job #1919933) | Cod sursa (job #1712678)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
char s[20];
long long viz[20],a[20];
long long p,nr,n;
void bkt(long long);
long long verif(long long);
int main(){
freopen("ratphu.in","r",stdin);
freopen("ratphu.out","w",stdout);
scanf("%s %d",s+1,&p);
n=strlen(s+1);
sort(s+1,s+1+strlen(s+1));
bkt(1);
printf("%d",nr);
return 0;
}
void bkt(long long k)
{
long long i=0;
if (k==n+1){
long long numar=0;
for (long long i=1;i<=n;i++){
numar=numar*10+s[a[i]];
}
nr+=verif(numar);
}
else{
for (i=1;i<=n;i++)
if (!viz[i]){
a[k]=i;
viz[i]=1;
bkt(k+1);
viz[i]=0;
}
}
}
long long verif(long long x){
return (x%p==0);
}