Pagini recente » Cod sursa (job #2841820) | Cod sursa (job #156393) | Cod sursa (job #979188) | Cod sursa (job #550438) | Cod sursa (job #1959706)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
const int NMAX = 10;
void descomp(int vec[], int nr, int sgn) {
while (nr % 2 == 0) {
vec[2] += sgn;
nr /= 2;
}
while (nr % 3 == 0) {
vec[3] += sgn;
nr /= 3;
}
while (nr % 5 == 0) {
vec[5] += sgn;
nr /= 5;
}
vec[4] = vec[2] / 2;
vec[6] = vec[3];
}
int main() {
int n, d, ans = 0;
int A[NMAX], B[NMAX], C[NMAX];
fin >> n >> d;
fin.close();
for (int i = 2; i <= 6; ++ i)
A[i] = B[i] = C[i] = 0;
for (int i = 2; i <= n; ++ i)
descomp(A, i, 1);
for (int i = 2; i < n; ++ i)
descomp(B, i, 1);
descomp(C, 1, 1);
for (int j = 2; j <= n / 2; ++ j) {
descomp(B, j - 1, -1);
descomp(C, j, 1);
if (A[d] >= B[d] + C[d])
ans += 2;
}
descomp(B, n / 2, -1);
descomp(C, n / 2 + 1, 1);
if (A[d] >= B[d] + C[d])
++ ans;
fout << ans << "\n";
fout.close();
return 0;
}