Cod sursa(job #2106759)

Utilizator nurof3nCioc Alex-Andrei nurof3n Data 16 ianuarie 2018 10:24:44
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, div;
    for(int k = 1; k < r2; k++)
    {
        div = divid(k);
        nr += div > 0 ? 2 : 0;
        ant = div;
    }
    if((r & 1) == 0)
        nr += divid(r2) > 0 ? 1 : 0;
    g << nr;
    return 0;
}