Pagini recente » Cod sursa (job #2175031) | Cod sursa (job #1208674) | Cod sursa (job #2566520) | Cod sursa (job #867248) | Cod sursa (job #1744806)
#include <iostream>
#include <cstdio>
using namespace std;
int power[10];
int r, d, sol;
void solve()
{
for (int i = 1; i <= r/2; i++) {
int x = i-1;
for (int i = 2; i <= 6; i++) {
int sus = r-x, jos = x+1;
if (i == 4 || i == 6) continue;
while (sus % i == 0)
power[i]++, sus /= i;
while (jos % i == 0)
power[i]--, jos /= i;
}
if (d == 2) sol += !!(power[2]);
else if (d == 3) sol += !!(power[3]);
else if (d == 4) sol += (power[2] > 1);
else if (d == 5) sol += !!(power[5]);
else sol += !!power[2] && !!power[3];
}
if (sol && !(r&1))
sol = (sol << 1) - 1;
else
sol <<= 1;
}
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
scanf("%d %d", &r, &d);
solve();
printf("%d", sol);
return 0;
}