Pagini recente » Cod sursa (job #3037589) | Monitorul de evaluare | Cod sursa (job #4433) | Cod sursa (job #1307813) | Cod sursa (job #15232)
Cod sursa(job #15232)
#include<fstream.h>
unsigned long ras;
int main()
{ifstream f("pascal.in");
ofstream g("pascal.out");
unsigned long r,val,n1,n2,d,i,l,j;
f>>r>>d;f.close();
if((r==0)||(r==1)) {g<<0<<'\n';g.close();return 0;}
val=0;
for(i=d;i<=r;i=i*d) val=val+r/i;
if(r%2)
{l=r/2;
for(i=0;i<=l;i++)
{n1=i;
if(n1==0) n1=1;
n2=0;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-i;
if(n1==0) n1=1;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
if((val-n2)>0) ras++;
}
ras=ras*2;g<<ras<<'\n';g.close();return 0;
}
else
{l=r/2;
for(i=0;i<l;i++)
{n1=i;
if(n1==0) n1=1;
n2=0;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-i;
if(n1==0) n1=1;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
if((val-n2)>0) ras++;
}
ras=ras*2;
n1=l;
if(n1==0) n1=1;
n2=0;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-l;
if(n1==0) n1=1;
for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
if((val-n2)>0) ras++;
g<<ras<<'\n';g.close();return 0;
}
}