Pagini recente » Cod sursa (job #2071105) | Cod sursa (job #1000120) | Cod sursa (job #2171982) | Cod sursa (job #834940) | Cod sursa (job #1540821)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
bool v[2000010];
long s=1,n;
void sundaram()
{int i,j;
for(i=1;i<=(n-1)/2;i++)
if(v[i]==false)
{s++;
for(j=i;i+j+2*i*j<=n;j++)
v[i+j+2*i*j]=true;
}
}
void eratostene()
{int i,j;
for(i=1;i<=(n-1)/2;i++)
if(v[i]==false)
{
s++;
for(j=3*(2*i+1);j<=n;j=j+(2*i+1))
v[(j-1)/2]=true;
}
}
int main()
{ cin>>n;
eratostene();
cout<<s;
return 0;
}