Cod sursa(job #3361767)
| Utilizator | Data | 28 iulie 2026 13:39:56 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
int main(){
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int N;
fin>>N;
vector<bool> composite(N + 1);
int cnt = 0;
for (int p = 2; p <= N; ++p) {
if (!composite[p]) {
cnt++;
if (1LL * p * p <= N) {
for (long long multiple = 1LL * p * p; multiple <= N; multiple += p) {
composite[multiple] = true;
}
}
}
}
fout<<cnt;
return 0;
}
