Pagini recente » Cod sursa (job #1772009) | Cod sursa (job #1432348) | Cod sursa (job #711052) | Cod sursa (job #2338918) | Cod sursa (job #1772014)
#include <fstream>
#include "bitset"
using namespace std;
ifstream fin("ciur.in");
//ofstream fout("ciur.out");
const int NMAX = 2000005;
//bool divide[NMAX];
bitset<NMAX> bs;
int main(int argc, char** argv) {
int N = 0, count = 0;
FILE *fout = fopen("ciur.out", "w");
FILE *fin = fopen("ciur.in", "r");
fscanf(fin, "%d", &N);
for(long i = 2 ; i <= N ; i++) {
if(!bs[i]) {
count++;
// printf("i is: %d\n", i);
// fout << "count is:" << count;
if(i * i <= N) {
for(long j = i * i ; j <= N ; j += i) {
// printf("j is: %d\n", j);
// fout << "J is:" << j;
if(j < NMAX) {
bs[j] = true;
}
}
}
}
}
// printf("%d\n", count);
fprintf(fout, "%d\n", count);
fclose(fout);
// fout << count;
fclose(fin);
// fout.close();
return 0;
}