Pagini recente » Cod sursa (job #417676) | Cod sursa (job #2183415) | Cod sursa (job #1033100) | Cod sursa (job #1244108) | Cod sursa (job #604141)
Cod sursa(job #604141)
# include <fstream>
using namespace std;
int r, d, i, sol;
int apar (int a, int b)
{
int sol = 0;
while (a > 0)
{
a = a / b;
sol += a;
}
return sol;
}
int main ()
{
ifstream f ("pascal.in");
ofstream g ("pascal.out");
f >> r >> d;
// i! / ( (i - j)! * j!)
long long dr = r;
r = (r + 1) >> 1;
for (i = 0; i < r; ++i)
{
int d1, t1, c1, d2, t2, c2;
d1 = apar (dr, 2);
t1 = apar (dr, 3);
c1 = apar (dr, 5);
d2 = apar (dr - i, 2);
t2 = apar (dr - i, 3);
c2 = apar (dr - i, 5);
d2 += apar (i, 2);
t2 += apar (i, 3);
c2 += apar (i, 5);
int nr = 0;
if (d == 2) nr = d1 - d2;
else
if (d == 3) nr = t1 - t2;
else
if (d == 4) nr = d1 / 2 - d2 / 2;
else
if (d == 5) nr = c1 - c2;
else nr = min (d1, t1) - min (d2, t2);
if (nr > 0) ++sol;
}
//sol = (sol << 1) + (!(dr & 1)) * ((v[dr] - (v[dr - r] + v[r])) > 0);
g << sol << '\n';
g.close ();
return 0;
}