Pagini recente » Cod sursa (job #757400) | Cod sursa (job #146887) | Cod sursa (job #3316211) | Cod sursa (job #958897) | Cod sursa (job #3317465)
#include <iostream>
#include <fstream>
#include<math.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int NMAX = 2000000;
bool ciur[NMAX+1];
int secv[NMAX+1];
void get_ciur(){
ciur[0]=ciur[1]=true;
for(int i=4;i<=NMAX;i+=2){
ciur[i] = true;
}
int sq =sqrt(NMAX);
for(int i=3;i<=sq;i+=2){
if(!ciur[i]){
for(int j=i*i;j<=NMAX;j+=2*i){
ciur[j] = true;
}
}
}
}
int main()
{
int n,raspuns=0;
fin>>n;
get_ciur();
for(int i=1;i<=n;i++){
if(!ciur[i]){
raspuns++;
}
}
fout<<raspuns;
return 0;
}