Cod sursa(job #2195762)

Utilizator AndreiVisoiuAndrei Visoiu AndreiVisoiu Data 17 aprilie 2018 12:32:54
Problema Pascal Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iostream>

using namespace std;

ifstream in("pascal.in");
ofstream out("pascal.out");

int legendre(int n, int k) {
    int r = n/k, s = 0, exp = k;
    while(r != 0) {
        s += r;
        exp *= k;
        r = n/exp;
    }
    return s;
}

int main()
{
    int r, d, s = 0;
    in >> r >> d;

    int ap = legendre(r, d);
    for(int j = 0, n = r/2; j < n; j++)
        if(ap - legendre(j, d) - legendre(r-j, d) > 0)
            s++;
    s *= 2;
    if(r%2 == 0) {
        int j = r/2;
        if(ap - legendre(j, d) - legendre(r-j, d) > 0)
            s++;
    }

    out << s;
    return 0;
}