Cod sursa(job #1099219)
Utilizator | Data | 5 februarie 2014 17:40:19 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<cstdio>
#include<cstring>
using namespace std;
int i, n, nr, y;
bool prim[2000005];
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d", &n); nr=0;
memset(prim, true, sizeof(prim));
for (i=2;i<=n;i++) if (prim[i]==true) {
nr++;
y=i;
while (y<=n) {y=y+i; prim[y]=false;}
}
printf("%d\n", nr); return 0;
}