Pagini recente » Cod sursa (job #3241660) | Cod sursa (job #3156685) | Cod sursa (job #1230145) | Cod sursa (job #1768008) | Cod sursa (job #1994680)
#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++)
{
nr=i;
while (nr%2==0) {v2[i]++;nr/=2;}
while (nr%3==0) {v3[i]++;nr/=3;}
while (nr%5==0) {v5[i]++;nr/=5;}
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;
}