Cod sursa(job #1093896)
Utilizator | Data | 28 ianuarie 2014 18:57:54 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <cstdio>
using namespace std;
int nr,n,prim[1000000],x,i;
bool ok;
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d", &n);
prim[1]=2; nr=1;
for (x=3;x<=n;x+=2)
{
ok=true;
for (i=1;i<=nr && prim[i]*prim[i]<=x;i++)
if (x%prim[i]==0)
ok=false;
if (ok)
prim[++nr]=x;
}
printf("%d", nr);
return 0;
}