Cod sursa(job #1392447)

Utilizator ErikHEErik Henning ErikHE Data 18 martie 2015 17:43:06
Problema Pascal Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

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

int putere(int n, int d)    {
int p=0, q=d;

while (q<=n)    {
p=p+n/q;
q=q*d;
}
return p;
}

int main()
{
    long long i, j, n, r, d;
    f>>r>>d;
    long long m, nr=0;

    if (d==2 || d==3 || d==5)   {
        m=putere(r, d);
        for (i=1;i<=r/2;i++)
            if (m-putere(r-i, d)-putere(i,d)!=0)
                nr++;
    }
    else if (d==4)  {
        m=putere(r,2)/2;
        for (i=1;i<=r/2;i++)
            if (m-putere(r-i, d)/2-putere(i,d)/2!=0)
                nr++;
    }
else {
        m=putere(r, 3);
        for (i=1;i<=r/2;i++)
            if (m-putere(r-i, 3)-putere(i,3)!=0)
                nr++;
}
    if (r%2==0)
        g<<2*nr-1;
    else
        g<<2*nr;
    return 0;
}