Pagini recente » Istoria paginii runda/carantinanuneopresteagmbiruieste/clasament | Cod sursa (job #2156361) | Cod sursa (job #1205612) | Cod sursa (job #2553382) | Cod sursa (job #485455)
Cod sursa(job #485455)
#include <fstream>
#include <math.h>
char numere[2000000];
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;
}
int main(void)
{
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, i, k=0;
fin>>n;
ciur_eratostene(n);
for(i=2; i<=n; i++)
if( numere[i] != '1')
k++;
fout<<k<<'\n';
return 0;
}