Pagini recente » Cod sursa (job #2642340) | Cod sursa (job #1353742) | Statistici Codreanu Elena (marylen) | Cod sursa (job #3208474) | Cod sursa (job #22016)
Cod sursa(job #22016)
#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,c1,c2,val2,n3;
f>>r>>d;f.close();
if((r==0)||(r==1)) {g<<0<<'\n';g.close();return 0;}
val=val2=0;
if(d==6)
{for(i=2;i<=r;i=i*2) val=val+r/i;
for(i=3;i<=r;i=i*3) val2=val2+r/i;
l=r/2;
for(i=0;i<l;i++)
{n2=n3=0;n1=i;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
n1=r-i;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
if(((val-n2)>0)&&((val2-n3)>0)) ras++;
}
if(r%2)
{n2=n3=0;n1=l;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
n1=r-l;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
if(((val-n2)>0)&&((val2-n3)>0)) ras++;
ras=ras*2;g<<ras<<'\n';g.close();return 0;
}
else
{ras=ras*2;
n2=n3=0;n1=l;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
n1=r-l;
if(n1) {for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
for(j=3;j<=n1;j=j*3) n3=n3+n1/j;
}
if(((val-n2)>0)&&((val2-n3)>0)) ras++;
g<<ras<<'\n';g.close();return 0;
}
}
if(d==4)
{for(i=2;i<=r;i=i*2) val=val+r/i;
l=r/2;
for(i=0;i<l;i++)
{n2=0;n1=i;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
n1=r-i;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
if((val-n2)>=2) ras++;
}
if(r%2)
{n2=0;n1=l;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
n1=r-l;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
if((val-n2)>=2) ras++;
ras=ras*2;g<<ras<<'\n';g.close();return 0;
}
else
{ras=ras*2;n1=l;n2=0;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
n1=r-l;
if(n1) for(j=2;j<=n1;j=j*2) n2=n2+n1/j;
if((val-n2)>=2) ras++;
g<<ras<<'\n';g.close();return 0;
}
}
for(i=d;i<=r;i=i*d) val=val+r/i;
l=r/2;
for(i=0;i<l;i++)
{n2=0;n1=i;
if(n1) for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-i;
if(n1) for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
if((val-n2)>0) ras++;
}
if(r%2)
{n2=0;n1=l;
if(n1) for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-l;
if(n1) 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
{ras=ras*2;n1=l;n2=0;
if(n1) for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
n1=r-l;
if(n1) for(j=d;j<=n1;j=j*d) n2=n2+n1/j;
if((val-n2)>0) ras++;
g<<ras<<'\n';g.close();return 0;
}
}