Cod sursa(job #622095)
| Utilizator | Data | 17 octombrie 2011 14:00:28 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <vector>
#include <stdio.h>
using namespace std;
int main() {
long N, nr = 0, i, j;
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
scanf("%ld", N);
vector<bool> c(N, true);
for(i = 2; i * i < N; i++) {
if(c[i])//i prim
for(j = i * i; j < N; j += i)//marchez multiplii sai
c[j] = false;
}
for(i = 2; i <= N; i++)
if(c[i])
nr++;
printf("%ld", nr);
}