Pagini recente » Cod sursa (job #2826247) | Cod sursa (job #1996446)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int A1[5000002];
int A2[5000002];
int A3[5000002];
int r,d,sol,nr;
int rez;
int main()
{
fin>>r>>d;
for (int i=1; i<=r; i++)
{
if (i%2==0) A1[i]=A1[i/2]+1;
if (i%3==0) A2[i]=A2[i/3]+1;
if (i%5==0) A3[i]=A3[i/5]+1;
}
for (int i=1; i<=r; i++)
{
A1[i]+=A1[i-1];
A2[i]+=A2[i-1];
A3[i]+=A3[i-1];
}
int rr=r/2;
for (int i=0; i<=rr; i++)
{
sol=0;
if (d==2 ) if (A1[r]-A1[r-i]-A1[i]>0) sol++;
if (d==3 ) if (A2[r]-A2[r-i]-A2[i]>0) sol++;
if (d==4 ) if (A1[r]-A1[r-i]-A1[i]>1) sol++;
if (d==5 ) if (A3[r]-A3[r-i]-A3[i]>0) sol++;
if (d==6 ) if( A1[r]-A1[r-i]-A1[i]>0 && A2[r]-A2[r-i]-A2[i]>0) sol++;
if(sol) if(r%2==0 and i==r/2) rez++;
else rez+=2;
}
fout<<rez;
return 0;
}