Pagini recente » Cod sursa (job #2473744) | Cod sursa (job #2846700) | Cod sursa (job #91256) | Cod sursa (job #2843053) | Cod sursa (job #520081)
Cod sursa(job #520081)
#include <fstream>
#include <iostream>
using namespace std;
const int MAX = 2*1000*1000+1;
int n,c;
bool p[MAX];
int main() {
ifstream in("ciur.in");
ofstream out("ciur.out");
in >> n;
p[0]=false; p[1]=false; p[2]=true;
for(int i=3;i<=n;i+=2){
p[i]=true; p[i+1]=false;
}
for(int i=3;i<=n/2;i+=2){
if(p[i]){
for(int j=2;i*j<=n;++j){
p[i*j]=false;
}
}
}
c=0;
for(int i=0;i<=n;++i){
if(p[i]) ++c;
// if(p[i]) cerr<<i<<" ";
}
out << c << "\n";
in.close();
out.close();
return 0;
}