Cod sursa(job #2673680)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 17 noiembrie 2020 15:17:16
Problema Pascal Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream in("pascal.in");
    ofstream out("pascal.out");
    int r;
    int d;
    int sol = 0;
    int exp = 0;

    in >> r >> d;

    if (r < 2)
    {
        out << 0;
        return 0;
    }

    int i = 1;
    for (i = 1; i <= (r - 1) / 2; i++)
    {
        int a = r - i + 1;
        int b = i;
        while (a % d == 0)
        {
          a = a / d;
          exp++;
        }
        while (b % d == 0)
        {
          b = b / d;
          exp--;
        }
        if (exp > 0)
        {
            sol = sol + 2;
        }
    }

    if (r % 2 == 0)
    {
        int a = r - i + 1;
        int b = i;
        while (a % d == 0)
        {
          a = a / d;
          exp++;
        }
        while (b % d == 0)
        {
          b = b / d;
          exp--;
        }
        if (exp > 0)
        {
            sol++;
        }
    }

    out << sol << '\n';

    return 0;
}