Pagini recente » Cod sursa (job #1148960) | Cod sursa (job #273325) | Cod sursa (job #530867) | Cod sursa (job #1346392) | Cod sursa (job #2911005)
#include <fstream>
#define NMAX 5000001
using namespace std;
ifstream fin("pascal.in");
ofstream fout("pascal.out");
int n, d1, d[NMAX], t[NMAX], c[NMAX], sol, c2, c3, c5;
int main()
{
fin>>n>>d1;
///d[i]=la ce putere apare 2 in i!
///t[i]=la ce putere apare 3 in i!
///c[i]=la ce putere apare 5 in i!
for(int i=2; i<=n; i++)
{
if(i%2==0)
{
d[i]=1+d[i/2];
}
if(i%3==0)
{
t[i]=1+t[i/3];
}
if(i%5==0)
{
c[i]=1+c[i/5];
}
}
for(int i=1; i<=n; i++)
{
c2+=d[n-i+1]-d[i];
c3+=t[n-i+1]-t[i];
c5+=c[n-i+1]-c[i];
if(d1==2 && c2!=0)
{
sol++;
}
else if(d1==3 && c3!=0)
{
sol++;
}
else if(d1==5 && c5!=0)
{
sol++;
}
else if(d1==4 && c2>1)
{
sol++;
}
else if(d1==6 && c2!=0 && c3!=0)
{
sol++;
}
}
fout<<sol;
return 0;
}