Pagini recente » Cod sursa (job #1640375) | Cod sursa (job #795792) | Cod sursa (job #243708) | Cod sursa (job #1256239) | Cod sursa (job #1784769)
#include <fstream>
using namespace std;
int r,d,i,p,nr,v[5000005],w[5000005];
int main()
{
ifstream f("pascal.in");
ofstream g("pascal.out");
f>>r>>d;
if(d==2)
{
for(p=2; p<=r; p*=2)
{
for(i=p; i<=r; i+=p)
v[i]++;
}
for(i=1; i<=r; i++)
v[i]+=v[i-1];
for(i=1; i<r; i++)
{
if(v[i]+v[r-i]<v[r]) nr++;
}
g<<nr<<'\n';
}
else if(d==3)
{
for(p=3; p<=r; p*=3)
{
for(i=p; i<=r; i+=p)
v[i]++;
}
for(i=1; i<=r; i++)
v[i]+=v[i-1];
for(i=1; i<r; i++)
{
if(v[i]+v[r-i]<v[r]) nr++;
}
g<<nr<<'\n';
}
else if(d==5)
{
for(p=5; p<=r; p*=5)
{
for(i=p; i<=r; i+=p)
v[i]++;
}
for(i=1; i<=r; i++)
v[i]+=v[i-1];
for(i=1; i<r; i++)
{
if(v[i]+v[r-i]<v[r]) nr++;
}
g<<nr<<'\n';
}
else
if(d==4)
{
for(p=2; p<=r; p*=2)
{
for(i=p; i<=r; i+=p)
v[i]++;
}
for(i=1; i<=r; i++)
v[i]+=v[i-1];
for(i=1; i<r; i++)
{
if(v[i]+v[r-i]+1<v[r]) nr++;
}
g<<nr<<'\n';
}
else
{
for(p=2; p<=r; p*=2)
{
for(i=p; i<=r; i+=p)
v[i]++;
}
for(i=1; i<=r; i++)
v[i]+=v[i-1];
//3
for(p=3; p<=r; p*=3)
{
for(i=p; i<=r; i+=p)
w[i]++;
}
for(i=1; i<=r; i++)
w[i]+=w[i-1];
for(i=1; i<r; i++)
{
if(v[i]+v[r-i]<v[r]&&w[i]+w[r-i]<w[r]) nr++;
}
g<<nr<<'\n';
}
f.close(); g.close();
return 0;
}