Cod sursa(job #2106761)

Utilizator nurof3nCioc Alex-Andrei nurof3n Data 16 ianuarie 2018 10:33:11
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#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;
}