Pagini recente » Cod sursa (job #1045295) | Cod sursa (job #2368670) | Cod sursa (job #3290558) | Cod sursa (job #2194324) | Cod sursa (job #1772009)
#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, count = 0;
fin >> N;
FILE *fout = fopen("ciur.out", "w");
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;
bs[j] = true;
}
}
}
}
// printf("%d\n", count);
fprintf(fout, "%d\n", count);
fclose(fout);
// fout << count;
fin.close();
// fout.close();
return 0;
}