Pagini recente » Cod sursa (job #2056152) | Cod sursa (job #1760449) | Cod sursa (job #2233645) | Cod sursa (job #2044247) | Cod sursa (job #2911276)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int r,d,D[5000005],T[5000005],C[5000005],ap;
void prec()
{
for(int i=2;i<=r;i+=2)
{
D[i]=D[i/2]+1;
}
for(int i=3;i<=r;i+=3)
{
T[i]=T[i/3]+1;
}
for(int i=5;i<=r;i+=5)
{
C[i]=C[i/5]+1;
}
for(int i=1;i<=r;i++)
{
D[i]+=D[i-1];
T[i]+=T[i-1];
C[i]+=C[i-1];
}
}
int main()
{
fin>>r>>d;
prec();
for(int i=1;i<=r;i++)
{
int doi =D[r]-D[r-i]-D[i];
int trei=T[r]-T[r-i]-T[i];
int cinci=C[r]-C[r-i]-C[i];
if(d==2)
{
ap+=(doi>0);
}
else if(d==3)
{
ap+=(trei>0);
}
else if(d==4)
{
ap+=(doi>1);
}
else if(d==5)
{
ap+=(cinci>0);
}
else if(d==6)
{
ap+=(min(doi,trei)>0);
}
}
fout<<ap;
}