Cod sursa(job #2766656)
| Utilizator | Data | 2 august 2021 17:49:33 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool v[2000001];
int main() {
bool prim;
int n, i, j, nr = 2, raspuns = 0;
fin >> n;
if(n < 2)
fout << 0;
else {
v[1] = true; // daca e prim => false
v[0] = true;
for(i = 2; i <= n; ++i) {
if(!v[i]) {
++raspuns;
for(j = i * 2; j <= n; j += i) {
v[j] = true;
}
}
}
}
fout << raspuns;
return 0;
}
/*
n = 10;
out = 4?
2 3 5 7 11 13 17 19 23 29
4 6 10 14 22 26 34 38 46 58
*/