Cod sursa(job #2730397)
Utilizator | Data | 26 martie 2021 11:04:45 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <iostream>
#include <vector>
auto *in = fopen("ciur.in", "r"), *out = fopen("ciur.out", "w") ;
int main() {
int n ;
fscanf(in, "%d", &n) ;
std::vector<bool> prim(n + 1, 0) ;
prim[1] = 1 ;
int ans(0) ;
for (int i = 2 ; i <= n ; ++ i) {
if (!prim[i]) {
ans ++ ;
for (long long j = 1ll * i * i ; j <= n ; j += i) {
prim[j] = 1 ;
}
}
}
fprintf(out, "%d", ans) ;
}