Cod sursa(job #998287)
| Utilizator | Data | 16 septembrie 2013 18:00:31 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
using namespace std;
FILE*in;
ofstream out("ciur.out");
int N, i, numar, OK, p, JACK, v[2000000];
int main()
{
in=fopen("ciur.in","r");
fscanf(in,"%d",&N);
for (i=1; i<N; i++)
v[i]=1;
p=2;
JACK=1;
while (JACK)
{
OK=p;
for (i=p+p-1; i<N; i+=p)
v[i]=0;
for (i=p+1; i<N; i++)
if (v[p])
p=i;
if (OK==p)
JACK=0;
}
for (i=1; i<=N; i++)
if (v[i])
numar++;
out<<numar;
return 0;
}
