Pagini recente » Cod sursa (job #1296657) | Cod sursa (job #543360) | Cod sursa (job #2607675) | Cod sursa (job #1586494) | Cod sursa (job #465848)
Cod sursa(job #465848)
#include <cstdio>
#include <cstring>
#include <bitset>
#define MAXN 40
using namespace std;
int C[MAXN],p, x, n;
long long A;
long long ans, sol;
bitset <MAXN> uz;
void back (int k)
{
if (k == n + 1 && ans % p == 0) ++sol;
else
{
for (int i = 1; i <= n; i++)
if (!uz[i])
{
ans = ans * 10 + C[i];
uz[i] = 1;
back (k + 1);
uz [i] = 0;
ans /= 10;
}
}
}
int main ()
{
freopen ("ratphu.in", "r", stdin);
freopen ("ratphu.out", "w", stdout);
scanf ("%lld%d\n", &A, &p);
while (A)
{
C[++n] = A % 10;
A /= 10;
}
back (1);
printf ("%lld\n", sol);
return 0;
}