Pagini recente » Profil DianaStn | Atasamentele paginii urmasiiluidoru | Cod sursa (job #2008105) | Cod sursa (job #1961694) | Cod sursa (job #2180956)
#include <iostream>
#include <fstream>
using namespace std;
char p[500001]={0};/// p[i]=0 <=> 2*i+1=nr prim
int main()
{
ifstream f("prim.in");
ofstream g("prim.out");
int i,j,nr=1,k,n;
f>>n;
for(i=1; ((i*i)<<1)+(i<<1)<=n; i++)
if(p[i]==0)
for(j=((i*i)<<1)+(i<<1);(j<<1)+1<=n;j+=(i<<1)+1)
p[j]=1;
for(i=1;2*i+1<=n;i++)
if(p[i]==0)nr++;
cout<<nr;
f.close();
g.close();
}