Pagini recente » Cod sursa (job #1341260) | Cod sursa (job #1712645) | Cod sursa (job #1424162) | Cod sursa (job #2055082) | Cod sursa (job #2217022)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
const int NMAX = 5000000;
int n, sol, f2[NMAX + 2], f3[NMAX + 2], f5[NMAX + 2], d, c2, c3, c5, nr2, nr3, nr5;
int main()
{
fin >> n >> d;
for (int i = 1; i <= n; i++) {
int p2, p3, p5, x;
p2 = p3 = p5 = 0;
x = i;
while (x % 2 == 0){ p2++, x /= 2;}
while (x % 3 == 0){ p3++, x /= 3;}
while (x % 5 == 0){ p5++, x /= 5;}
f2[i] = f2[i - 1] + p2;
f3[i] = f3[i - 1] + p3;
f5[i] = f5[i - 1] + p5;
}
if (d % 2 == 0)
c2++;
if (d % 3 == 0)
c3++;
if (d % 5 == 0)
c5++;
if (d % 4 == 0)
c2++;
for (int i = 1; i <= n; i++) {
nr2 = f2[n] - f2[n - i] - f2[i];
nr3 = f3[n] - f3[n - i] - f3[i];
nr5 = f5[n] - f5[n - i] - f5[i];
if (nr2 >= c2 && nr3 >= c3 && nr5 >= c5)
sol++;
}
fout << sol;
return 0;
}