Pagini recente » Cod sursa (job #2647090) | Cod sursa (job #856313) | Cod sursa (job #52930) | Cod sursa (job #3139088) | Cod sursa (job #1994701)
#include <fstream>
using namespace std;
ifstream fi("pascal.in");
ofstream fo("pascal.out");
int v2[5000002],v3[5000002],v5[5000002],r,d,sol,i,nr,S;
int main()
{
fi>>r>>d;
for (i=1; i<=r; i++)
{
if (i%2==0) v2[i]=v2[i/2]+1;
if (i%3==0) v3[i]=v3[i/3]+1;
if (i%5==0) v5[i]=v5[i/5]+1;
}
for (i=1; i<=r; i++)
{
v2[i]+=v2[i-1];
v3[i]+=v3[i-1];
v5[i]+=v5[i-1];
}
int rr=r/2;
for (i=0; i<=rr; i++)
{ sol=0;
if (d==2 ) if (v2[r]-v2[r-i]-v2[i]>0) sol++;
if (d==3 ) if (v3[r]-v3[r-i]-v3[i]>0) sol++;
if (d==4 ) if (v2[r]-v2[r-i]-v2[i]>1) sol++;
if (d==5 ) if (v5[r]-v5[r-i]-v5[i]>0) sol++;
if (d==6 ) if( v2[r]-v2[r-i]-v2[i]>0 && v3[r]-v3[r-i]-v3[i]>0) sol++;
if(sol) if(r%2==0 and i==r/2) S++;
else S+=2;
}
fo<<S;
return 0;
}