Pagini recente » Cod sursa (job #1778766) | Cod sursa (job #1226302) | Cod sursa (job #2199029) | Cod sursa (job #654301) | Cod sursa (job #654032)
Cod sursa(job #654032)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out ("ciur.out");
const int N=10000000/2/8+1;
int p[N];
int main()
{
int i,j,nr=1,n;
in>>n;
for (i=1;((i*i)<<1)+(i<<1) <=n; i+=1)
{
if ((p[i>>3]&(1<<(i&7)))==0)
{
for (j=((i*i)<<1)+(i<<1);(j<<1)+1<=n;j+=(i<<1)+1)
p[j>>3]|=(1<<(j&7));
}
}
for (i=1;2*i+1<=n;i++)
if((p[i>>3]&(1<<(i&7)))==0)
nr++;
out<<nr;
}