Pagini recente » Cod sursa (job #1129202) | Cod sursa (job #261861) | Cod sursa (job #1418905) | Cod sursa (job #2727817) | Cod sursa (job #1908610)
#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[d] = 1;
}
void afisare()
{
for(int i=1; i<=n; ++i)
fout<<i<<" "<<f[i]<<"\n";
}
int Solve()
{
int rez = 0;
for(int i=2; i<=n; ++i)
if(!f[i]) ++rez;
return rez;
}
int main()
{
fin>>n;
Ciur(n);
//afisare();
fout<<Solve();
fin.close(); fout.close();
return 0;
}