Pagini recente » Cod sursa (job #1398694) | Cod sursa (job #2351409) | Cod sursa (job #1324076) | Cod sursa (job #2701914) | Cod sursa (job #1809842)
#include <bits/stdc++.h>
using namespace std;
const char* IN = "ciur.in";
const char* OUT = "ciur.out";
const int Nmax = 2000001;
namespace Math {
bool used[Nmax];
int cnt = 0 ;
int generateSieve(int limit){
for (int i=2 ; i<=limit ; ++i)
if (!used[i]){
++cnt;
for(int j=2;i*j<=limit;++j)
used[i*j] = 1;
}
return cnt;
}
};
namespace InputStream {
FILE *in = fopen(IN,"r");
int nextInt(){
int aux;
fscanf(in,"%d\n",&aux);
return aux;
}
}
namespace PrintStream {
FILE *out = fopen(OUT,"w");
void printInt(int nbr){
fprintf(out,"%d\n",nbr);
}
}
int main(void){
PrintStream::printInt(Math::generateSieve(InputStream::nextInt()));
return 0 ;
}