Pagini recente » Cod sursa (job #1794015) | Cod sursa (job #748638) | Autentificare | Cod sursa (job #870616) | Cod sursa (job #2108290)
#include<fstream>
using namespace std;
ifstream in ("pascal.in");
ofstream out ("pascal.out");
int k,d,fact[6],sol,y,i;
int vec[5000001][3];
int aux[6] = {0,0,0,1,0,2};
int main (void) {
in >> k >> d;
i = k;
for (int i = 1; i <= k; i ++) {
if (i % 2 == 0) { vec[i][0] = vec[i/2][0] + 1; }
if (i % 3 == 0) { vec[i][1] = vec[i/3][1] + 1; }
if (i % 5 == 0) { vec[i][2] = vec[i/5][2] + 1; }
}
for (int j = 0; j <= k; j ++) {
if (j > 0) {
if (d == 4) {
if (fact[0] > 1) {
sol ++;
}
}
else
if (d == 6) {
if (fact[0] > 0 && fact[1] > 0) {
sol ++;
}
}
else {
if (fact[aux[d]] > 0) {
sol ++;
}
}
}
for (int h = 0; h <= 2; h ++) {
y = j+1;
fact[h] -= vec[y][h];
y = i-j;
fact[h] += vec[y][h];
}
}
out << sol;
return 0;
}