Cod sursa(job #2034177)

Utilizator robertro1Benedek Robert George robertro1 Data 7 octombrie 2017 15:48:25
Problema Pascal Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;
typedef unsigned long long ull;


ull exp(ull x,int p)
{
    ull e=0, z=p;
    while(x/p){e=e+x/p;
    p*=z;}
    return e;
}


int main()
{
ifstream f("pascal.in");
ofstream g("pascal.out");
int r,d,p,div=0;;
f>>r>>d;
if(r%2==1)
{


for(int i=0; i<=r/2; i++)
{
    if((exp(r,d)-exp(r-i,d)-exp(i,d))>=1) div++;

}
g<<2*div;
}
else
        {
                int gasit=0;

            for(int i=0; i<=r/2; i++)
            { if(i==r/2)
            {
                 if((exp(r,d)-exp(r-i,d)-exp(i,d))>=1) gasit=1;
            }

                if((exp(r,d)-exp(r-i,d)-exp(i,d))>=1) div++;

            }
            if(gasit)
            g<<2*div-1;
            else
                g<<2*div;
        }



    return 0;
}