Pagini recente » Cod sursa (job #961877) | Cod sursa (job #2375732) | Cod sursa (job #387558) | Istoria paginii preoni-2007/clasament/runda-finala/10 | Cod sursa (job #604097)
Cod sursa(job #604097)
# include <fstream>
using namespace std;
int r, d, i, sol;
int v[5000010];
int main ()
{
ifstream f ("pascal.in");
ofstream g ("pascal.out");
f >> r >> d; ++r;
for (i = 1; i <= r; ++i)
{
int D = i, nr = 0;
while (D % d == 0) D /= d, ++nr;
v[i] = v[i - 1] + nr;
}
//i! / ( (i-j)! * j!)
int dr = r;
r = (r + (r & 1)) >> 1;
for (i = 1; i <= r; ++i)
{
int nr = v[dr] - (v[dr - i] + v[i]);
if (nr >= 1) ++sol;
}
sol = (sol << 1) - (dr & 1) * (v[dr] - (v[dr - r] + v[r]));
g << sol << '\n';
g.close ();
return 0;
}