Pagini recente » Cod sursa (job #189319) | Cod sursa (job #2700060) | Cod sursa (job #319893) | Cod sursa (job #624565) | Cod sursa (job #465667)
Cod sursa(job #465667)
#include <stdio.h>
int A[25], BX[25], viz[25];
int N, P, C, X;
/*void af() {
for (int i = 1; i <= A[0]; ++i)
printf("%d", BX[i]);
printf("\n");
}*/
int imp() {
int i, t = 0;
for (i = 1; i <= A[0]; ++i){
t = t * 10 + BX[i];
t %= P;
}
return t;
}
void perm (int k) {
int i;
if (k - 1 == A[0]) {
if (!imp()) ++C/*, af()*/;
return;
}
for (i = 1; i <= A[0]; ++i) {
if (!viz[i]){
BX[k] = A[i];
viz[i] = 1;
perm (k + 1);
viz[i] = 0;
}
}
}
int main () {
freopen("ratphu.in", "r", stdin);
freopen("ratphu.out", "w", stdout);
do {
scanf("%c", &X);
A[ ++A[0] ] = X - '0';
} while (X != ' ');
A[ A[0]-- ] = 0;
scanf("%d", &P);
perm(1);
printf("%d", C);
return 0;
}