Pagini recente » Cod sursa (job #1119484) | Cod sursa (job #1188415) | Cod sursa (job #1271092) | Cod sursa (job #2093679) | Cod sursa (job #1444148)
#include <cstdio>
#define NMAX 18
using namespace std;
int l = 0, n, p, v[NMAX], sol = 0;;
bool viz[NMAX] = { false };
void citeste()
{
FILE *f = fopen("ratphu.in", "r");
fscanf(f, "%i%i", &n, &p);
fclose(f);
while (n)
{
v[l++] = n % 10;
n /= 10;
}
}
void dfs(int x)
{
bool complet = true;
viz[x] = true;
n *= 10;
n += v[x];
for (int i = 0; i < l; i++)
if (!viz[i])
{
dfs(i);
complet = false;
}
if (complet && n % p == 0)
sol++;
n /= 10;
viz[x] = false;
}
void afiseaza()
{
FILE *f = fopen("ratphu.out", "w");
fprintf(f, "%i", sol);
fclose(f);
}
int main()
{
citeste();
for (int i = 0; i < l; i++)
dfs(i);
afiseaza();
}