Pagini recente » Cod sursa (job #3279282) | Cod sursa (job #2659023) | Cod sursa (job #3278401) | Cod sursa (job #961205) | Cod sursa (job #640595)
Cod sursa(job #640595)
#include <stdio.h>
int v[4], fac[6];
int r, d, n1, n2;
void factor()
{
while (!(n1 & 1))
++fac[2], n1 >>= 1;
while (!(n1 % 3))
++fac[3], n1 /= 3;
while (!(n1 % 5))
++fac[5], n1 /= 5;
while (!(n2 & 1))
--fac[2], n2 >>= 1;
while (!(n2 % 3))
--fac[3], n2 /= 3;
while (!(n2 % 5))
--fac[5], n2 /= 5;
}
int div()
{
if (d == 4)
return (fac[2] > 1);
if (d == 6)
return (fac[3] && fac[2]);
return fac[d];
}
int main()
{
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
int i, n, num = 0;
scanf("%d %d", &r, &d);
n = r;
for (i = 1; i <= r/2; ++i, --n) {
n1 = n, n2 = i;
factor();
if (div())
num += 2;
}
if (div() && !(r % 2))
--num;
printf("%d\n", num);
return 0;
}