Pagini recente » Cod sursa (job #1545176) | Cod sursa (job #1001102) | Cod sursa (job #1526892) | Cod sursa (job #716347) | Cod sursa (job #2106761)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
int r, d, nr = 0, ant = 0;
int expp(int n)
{
int e = 0, pp = d;
while(pp <= n)
{
e += n / pp;
pp *= d;
}
return e;
}
int divid(int k)
{
return ant + expp(r - k + 1) - expp(k);
}
int main()
{
f >> r >> d;
if(d == 6) d = 3;
int r2 = (r - 1) >> 1, di;
for(int k = 1; k <= r2; k++)
{
di = divid(k);
nr += di > 0 ? 2 : 0;
ant = di;
}
if(r % 2 == 0)
nr += divid(r / 2) > 0 ? 1 : 0;
g << nr;
return 0;
}