Pagini recente » Rating Cezar Petreanu (GolemuDeChiatra) | Cod sursa (job #754528) | Cod sursa (job #2188173) | Cod sursa (job #2897520) | Cod sursa (job #485981)
Cod sursa(job #485981)
#include <fstream>
#include <math.h>
char numere[2000005];
using namespace std;
/*
void ciur_eratostene(int n)
{
int i,j, q;
q=sqrt(n);
for(i=2; i<=3; i++)
for(j=i; j<=n/2; j++)
numere[j*i]=1;
for(i=5; i<=q; i=(i << 1)+1)
for(j=i; j<=q; j=(j << 1)+1)
numere[j*i]=1;
return;
}
*/
long ciur_eratostene(long n)
{
int i, j;
long contor=1;
for(i=3; i<=n; i+=2)
if(!numere[i])
{
contor++;
for(j=i+i+i; j<=n; j+=i+i)
numere[j]=1;
}
return contor;
}
int main(void)
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
long n;
long k;
fin>>n;
k=ciur_eratostene(n);
fout<<k<<'\n';
return 0;
}