Pagini recente » Cod sursa (job #70231) | Cod sursa (job #2408281) | Cod sursa (job #1952922) | Cod sursa (job #192187) | Cod sursa (job #2631034)
#include <fstream>
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int vect2[5000000],vect3[5000000],vect5[5000000];
int main()
{
int R,D,i;
fin>>R>>D;
for(i=2;i<=R;i=i*2)
{
vect2[i]=vect2[i/2]+1;
}
for(i=3;i<=R;i=i*3)
{
vect3[i]=vect3[i/3]+1;
}
for(i=5;i<=R;i=i*5)
{
vect5[i]=vect5[i/5]+1;
}
for(i=1;i<=R;i++)
{
vect2[i]+=vect2[i-1];
vect3[i]+=vect3[i-1];
vect5[i]+=vect5[i-1];
}
int nr=0;
switch(D)
{
case 2:
for(i=0;i<=R;i++)
{
int val=vect2[R]-vect2[R-i]-vect2[i];
if(val!=0)
{
nr++;
}
}
break;
case 3:
for(i=0;i<=R;i++)
{
int val=vect3[R]-vect3[R-i]-vect3[i];
if(val!=0)
{
nr++;
}
}
break;
case 4:
for(i=0;i<=R;i++)
{
int val=vect2[R]-vect2[R-i]-vect2[i];
if(val>1)
{
nr++;
}
}
break;
case 5:
for(i=0;i<=R;i++)
{
int val=vect5[R]-vect5[R-i]-vect5[i];
if(val!=0)
{
nr++;
}
}
break;
case 6:
for(i=0;i<=R;i++)
{
int val1=vect2[R]-vect2[R-i]-vect2[i];
int val2=vect3[R]-vect3[R-i]-vect3[i];
if(val1!=0 && val2!=0)
{
nr++;
}
}
break;
}
fout<<nr;
return 0;
}