Pagini recente » Cod sursa (job #687895) | Cod sursa (job #14214) | Cod sursa (job #3218312) | Cod sursa (job #227305) | Cod sursa (job #1908601)
#include <fstream>
#include <bitset>
#define in "ciur.in"
#define out "ciur.out"
#define N 2000003
using namespace std;
ifstream fin(in);
ofstream fout(out);
bitset<N> f;
int n;
void Ciur(int n)
{
f[0] = f[1] = 1;
for(int i=4; i<=n; i+=2)
f[i] = 1;
for(int i=3; i*i<=n; i+=2)
if(!f[i])
for(int d=i*i; d<=n; d += 2*i) f[i] = 1;
}
int Solve()
{
int rez = 0;
for(int i=2; i<=n; ++i)
if(!f[i]) ++rez;
return rez;
}
int main()
{
fin>>n;
Ciur(n);
fout<<Solve();
fin.close(); fout.close();
return 0;
}