Pagini recente » Cod sursa (job #398651) | Cod sursa (job #2668183) | Cod sursa (job #2573667) | Cod sursa (job #3206926) | Cod sursa (job #1217186)
#include<stdio.h>
#include<math.h>
int r, d;
int mult (int k, int n) {
int res, pwr;
res = 0;
pwr = k;
while(pwr <= n) {
res += n / pwr;
pwr *= k;
}
return res;
}
int main() {
freopen("pascal.in", "r", stdin);
freopen("pascal.out", "w", stdout);
int j, min2, min5, min3, jum, num, p2, p3, p5;
scanf("%d%d", &r, &d);
jum = r / 2;
min2 = min3 = min5 =0;
if(d == 2)
min2 = 1;
if(d == 3)
min3 = 1;
if(d == 4)
min2 = 2;
if(d == 5)
min5 = 1;
if(d == 5)
min2 = min3 = 1;
num = 0;
for(j = 1; j < jum; ++ j) {
p2 = mult(2, r) - mult(2, r - j) - mult(2, j);
p3 = mult(3, r) - mult(3, r - j) - mult(3, j);
p5 = mult(5, r) - mult(5, r - j) - mult(5, j);
if(p2 >= min2 && p3 >= min3 && p5 >= min5)
num += 2;
}
if(r % 2 == 0) {
p2 = mult(2, r) - mult(2, r - jum) - mult(2, jum);
p3 = mult(3, r) - mult(3, r - jum) - mult(3, jum);
p5 = mult(5, r) - mult(5, r - jum) - mult(5, jum);
if(p2 >= min2 && p3 >= min3 && p5 >= min5);
++ num;
}
printf("%d\n", num);
return 0;
}