Pagini recente » Cod sursa (job #2982645) | Cod sursa (job #2117591) | Cod sursa (job #442732) | Cod sursa (job #725632) | Cod sursa (job #3137754)
#include <bits/stdc++.h>
#pragma GCC optimize ("fast-math", "unroll-loops")
using namespace std;
ifstream in ("pascal.in");
ofstream out ("pascal.out");
const int NMAX = 5e5;
int prec[NMAX + 5][3];
const int prime[3] = {2, 3, 5};
int main()
{
int n, d;
in >> n >> d;
for (int i=1; i<=n; i++)
{
int x = i;
for (int j=0; j<3; j++)
{
prec[i][j] = prec[i-1][j];
while (x % prime[j] == 0)
x /= prime[j], prec[i][j]++;
}
}
int ans = 0;
if (d == 2)
{
for (int i=0; i<=n; i++)
{
if (prec[n][0] - prec[i][0] - prec[n-i][0] > 0)
ans++;
}
out << ans;
}
else if (d == 3)
{
for (int i=0; i<=n; i++)
{
if (prec[n][1] - prec[i][1] - prec[n-i][1] > 0)
ans++;
}
out << ans;
}
else if (d == 5)
{
for (int i=0; i<=n; i++)
{
if (prec[n][2] - prec[i][2] - prec[n-i][2] > 0)
ans++;
}
out << ans;
}
else if (d == 4)
{
for (int i=0; i<=n; i++)
{
if (prec[n][0] - prec[i][0] - prec[n-i][0] > 1)
ans++;
}
out << ans;
}
else
{
for (int i=0; i<=n; i++)
{
if (prec[n][0] - prec[i][0] - prec[n-i][0] > 0 && prec[n][1] - prec[i][1] - prec[n-i][1] > 0)
ans++;
}
out << ans;
}
return 0;
}