Cod sursa(job #809645)
Utilizator | Data | 8 noiembrie 2012 19:25:56 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
ifstream ifs("ciur.in");
ofstream ofs("ciur.out");
int N;
long long int nr=0;
ifs>>N;
vector<bool> v(N/2+1,0);
for(int i=3;i<=N;i+=2){
if(v[i]==0){
nr++;
for(int j=i+i+i;j<=N;j+=i){
v[j/2+1]=1;
}
}
}
ofs<<nr+1;
return 0;
}