Pagini recente » Cod sursa (job #1094155) | Cod sursa (job #1622352) | Cod sursa (job #959484) | Cod sursa (job #2943932) | Cod sursa (job #1561239)
#include <algorithm>
#include <stdio.h>
#include <iostream>
#include <fstream>
using namespace std;
int divs[7] = {0, 0, 2, 3, 2, 5, 2};
int n, d, apar, apar2;
int addMult(int x, int sign) {
int exp = 0;
for (; x % divs[d] == 0; exp++, x /= divs[d]);
apar += sign * exp;
if (d == 6) {
int exp2 = 0;
for (; x % 3 == 0; exp2++, x /= 3);
apar2 += sign * exp2;
}
}
int main() {
ifstream cin("pascal.in");
freopen("pascal.out", "w", stdout);
cin >> n >> d;
int sol = 0;
for (int i = 1, j = n; j; i++, j--) {
addMult(j, 1);
addMult(i, -1);
if (d == 4)
sol += (apar > 1);
else if (d == 6)
sol += (apar && apar2);
else sol += (bool) apar;
}
printf("%d\n", sol);
return 0;
}