Cod sursa(job #2509931)
| Utilizator | Data | 15 decembrie 2019 12:35:50 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool v[2000000] = { true };
int main() {
int n, nr = 0;
fin >> n;
for (int i = 1; i <= n; i++)
v[i] = true;
for(int i = 2; i <= (int)sqrt(n); i++)
if (v[i] == true)
for (int j = i * i; j <= n; j = j + i)
v[j] = false;
for (int i = 2; i <= n; i++)
if (v[i] == true) nr++;
fout << nr;
}