Cod sursa(job #1416870)
| Utilizator | Data | 9 aprilie 2015 01:24:54 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bitset < 2000001 > v;
int main()
{
int n,nr = 1;
fin >> n;
int i = 4;
while(i <= n){
v[i] = true;
i += 2;
}
for(int d = 3; d <= n; d += 2){
if(v[d] == false){
nr++;
for(int j = d + d; j <= n; j += d){
v[j] = true;
}
}
}
fout << nr;
return 0;
}
