Pagini recente » Cod sursa (job #2887992) | Cod sursa (job #2489607) | Cod sursa (job #1301653) | Cod sursa (job #618909) | Cod sursa (job #2034574)
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull val=0;
ull gasit;
ull exp(ull x,int p)
{
ull e=0, z=p;
while(x/p){e=e+x/p;
p*=z;
if(e > val && gasit==1) {gasit=0;break;}}
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++)
{
gasit=0;
val=exp(r-i,d)+exp(i,d);
gasit=1;
if(exp(r,d)>val) div++;
}
g<<2*div;
}
else
{
int gasit=0;
for(int i=0; i<=r/2; i++)
{ if(i==r/2)
{
gasit=0;
val=exp(r-i,d)+exp(i,d);
gasit=1;
if(exp(r,d)>val) gasit=1;;
}
gasit=0;
val=exp(r-i,d)+exp(i,d);
gasit=1;
if(exp(r,d)>val) div++;
}
if(gasit)
g<<2*div-1;
else
g<<2*div;
}
return 0;
}