Cod sursa(job #2168936)
| Utilizator | Data | 14 martie 2018 12:51:25 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <cstdio>
#define nMax 2000000
using namespace std;
int i, j, n, nr, v[nMax+5];
void ciur()
{
v[0]=v[1]=1;
for(i=4; i<=nMax; i+=2)
v[i]=1;
for(i=3; i*i<=nMax; i+=2)
if(!v[i])
for(j=i*i; j<=nMax; j+=2*i)
v[j]=1;
}
int main()
{
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
ciur();
scanf("%d", &n);
for(i=2; i<=n; i++)
if(!v[i])
nr++;
printf("%d", nr);
fclose(stdin);
fclose(stdout);
return 0;
}
