Cod sursa(job #1158763)
Utilizator | Data | 29 martie 2014 02:52:17 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<fstream>
#include<vector>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int main()
{
vector<bool> sol;
int n,i,j,nr=1;
in>>n;
for(i=0;2*i+1<=n;i++)
sol.push_back(1);
for(i=1;2*i+1<=n;i++)
if(sol.at(i))
{
nr++;
for(j=(6*i+3)/2;2*j+1<=n;j+=2*i+1)
sol.at(j)=0;
}
out<<nr;
}