Pagini recente » Borderou de evaluare (job #1036241) | Cod sursa (job #180740) | Cod sursa (job #1865619) | Cod sursa (job #346050) | Cod sursa (job #1596974)
#include <iostream>
#include <fstream>
#include <bitset>
#include <stdio.h>
#include <cmath>
#define MAX 2000003
#define MAX2 46340
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
bitset<MAX> v;
int n,k;
int main() {
in >> n;
int sq = sqrt(n);
for(int i = 2; i <= n; i += 2)
v[i] = 1;
for(int i = 3; i <= n; i += 2) {
if(v[i] == 0) {
k++;
if(i > sq)
continue;
for(int mult = i*i; mult <= n; mult += i) {
v[mult] = 1;
}
}
}
out << k+1;
return 0;
}