Pagini recente » Cod sursa (job #226062) | Statistici Pincu Iulia Maria Andreea (pincu.iulia) | Cod sursa (job #1396899) | Cod sursa (job #2677176) | Cod sursa (job #1436960)
#include <fstream>
using namespace std;
const int lmax = 262145;
const int pmax = 21;
std::ifstream in("ratphu.in");
std::ofstream out("ratphu.out");
int digits[20];
long long int sol[lmax][pmax];
int main() {
long long int n;
int p;
int l = 0;
in >> n >> p;
while (n) {
digits[l++] = n % 10;
n /= 10;
}
sol[0][0] = 1;
for (int i = 0; i < (1 << l); ++i)
for (int j = 0; j < l; ++j)
if ((i & (1 << j)) == 0)
for (int k = 0; k < p; ++k)
sol[i | (1 << j)][(k * 10 + digits[j]) % p] += sol[i][k];
out << sol[(1 << l) - 1][0] << '\n';
return 0;
}