Pagini recente » Cod sursa (job #659175) | Cod sursa (job #877870) | Cod sursa (job #3248319) | Cod sursa (job #2384519) | Cod sursa (job #1712676)
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
char s[20];
int viz[20],a[20];
int p,nr,n;
void bkt(int);
int verif(int);
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(int k)
{
int i=0;
if (k==n+1){
int numar=0;
for (int 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;
}
}
}
int verif(int x){
return (x%p==0);
}